Skip to content
← back

cat ~/articles

Articles, ideas & more

BrewPackageManager: How to know which Homebrew packages need updates without remembering any commands

You have 47 packages installed with Homebrew. Three are outdated but you don't know because you never run brew outdated. When you remember, you've been running old versions for weeks. This macOS menu bar app automatically detects updates, notifies you with a badge, and lets you update with one click. No terminal, no commands, no excuses.

8 min

minimatch-fast: How to speed up glob matching up to 26x without changing a single line of code

Minimatch is the most widely used glob matcher in the Node.js ecosystem. It also has a denial of service vulnerability since 2022 and is slow on complex patterns. This package is a drop-in replacement that uses picomatch internally, passes all 355 original minimatch tests, and speeds up matching between 1.3x and 26x depending on the pattern. One npm install and your globs fly.

7 min

legal-expand: How to convert AEAT, IVA, IRPF into text your client can understand

Spanish legal texts are plagued with acronyms that only lawyers understand. AEAT, IRPF, LEC, CGPJ, BOE. Your client reads a ruling and understands nothing. This library automatically expands 646 legal acronyms verified by the RAE, adding the meaning in parentheses. Available for NPM and Python, with semantic HTML support and structured output.

8 min

package-health-analyzer: The dependency report your compliance team needs before closing due diligence

You're in the middle of due diligence and the compliance team asks: what licenses do the project's 200 dependencies have? Is there any GPL that would force us to release the code? Do any have known vulnerabilities? This CLI tool analyzes all dependencies in under 5 seconds and generates reports in 7 formats: JSON, CSV, Markdown, SPDX 2.3 SBOM, SARIF for GitHub, and NOTICE.txt for Apache compliance.

9 min

GitPins: How to control your GitHub repository order when they sort by date

GitHub sorts repositories by last updated date. You touch an old repo and your star project disappears from view. There's no native way to pin the order you want. This webapp automates reordering using empty commits and GitHub Actions, periodically updating timestamps to keep your best projects always on top without manual intervention.

6 min

react-consent-shield: Why your cookie banner doesn't comply with GDPR and how to fix it without spending weeks

A user visits your site and Google Analytics has already tracked their visit before the cookie banner appears. When they click 'Reject All', their data is already on Google, Meta, and TikTok servers. Most consent solutions just show a popup and hope for the best. This React library intercepts scripts at DOM level with MutationObserver, supports 52 privacy laws with automatic geo-detection, includes 274 pre-configured services, and generates audit reports with cryptographic verification

12 min

react-form-autosave: How to prevent users from losing forms when they accidentally close the tab

User fills out a 15-field form, accidentally closes the tab, comes back and everything is empty. Existing solutions are either coupled to react-hook-form, require Redux, or lack debounce and sensitive field exclusion. This zero-dependency React library automatically persists form state with undo/redo, cross-tab sync, schema migrations, and GDPR compliance. Under 2KB gzipped.

8 min

@sparring/tech-roles-library: How to define 702 technical career paths when HR struggles to define a 5-year Fullstack at L4

Tech companies have the same problem: nobody knows what competencies a Backend Developer L5 should have or how many years it takes to reach Staff Engineer. This NPM package defines 78 technical roles × 9 levels = 702 unique career paths with core competencies, complementary skills, and level indicators. Search by name, filter by category, complete career path analysis, and bilingual ES/EN support.

7 min

@sparring/tech-catalog: How to manage a catalog of 1094 technologies with fuzzy search, validation and TypeScript

Maintaining an updated technology catalog is tedious when you have over a thousand entries. I created this NPM package that provides complete API for search with typo tolerance, multi-criteria filtering, smart autocomplete and data validation. 1094 technologies organized in 8 categories with full TypeScript support, tree-shaking and zero runtime dependencies.

6 min

Multi-objective optimization: how to find Pareto-optimal solutions when you can't maximize everything at once

Training a fast but accurate ML model is impossible. Reducing API latency without increasing infrastructure costs doesn't work. Maximizing throughput while reducing memory is contradictory. Multi-objective optimization solves problems where improving one objective worsens another. Practical implementation of Pareto dominance, optimal frontier calculation, 2D hypervolume and Monte Carlo for 3D+, spacing, coverage, and NSGA-II crowding distance.

8 min

Clasp 3.1.1: How to develop Google Apps Script from VS Code without dying trying

Google Apps Script's web editor becomes a bottleneck when your scripts exceed 200 lines. Clasp lets you work from VS Code with your normal development stack: Git, ESLint, TypeScript, and real debugging.

4 min