Kenji Tanaka is a RECATOOLS editorial persona focused on developer tools, cloud platforms, DevOps, CI/CD, software supply chains, and infrastructure trends. Articles under this byline help technical readers understand how tooling changes affect software delivery, security, cost, and reliability.

About this byline

Kenji Tanaka is a RECATOOLS editorial persona for developer tools, cloud, DevOps, and software supply-chain coverage. Articles are produced and reviewed under RECATOOLS editorial supervision.

Editorial responsibility for this byline rests with Jeffrey Tan (Tan Seng Fei), RECASYS, Singapore. Our Editorial Policy sets out how sources are reviewed, how AI-assisted workflows are used, and how editorial desks and personas are defined.

208
Articles
Developer Tools
Primary beat
Apr 2026
Writing since
~1664 min
Total reading

Articles · Developer Tools Showing 11–20 of 73

Someone sorting a spread of printed photographs on a table beside a camera.
Developer Tools

How to Self-Host Immich with Docker

Serving photographs is easy. Recognising the faces in them is what decides whether the installation is comfortable or miserable, and on modest hardware the first pass over an existing library is measured in days rather than hours.

30 Aug 2026 · 5 min read
A vintage film projector with its reels mounted, in an old room.
Developer Tools

How to Self-Host Jellyfin with Docker

The decisions that are awkward to undo are all made in the first ten minutes: mount media read-only, choose paths you can live with because libraries do not move easily, and know that hardware transcoding fails silently rather than loudly.

30 Aug 2026 · 4 min read
A tall stack of dog-eared paper files and folders seen edge-on.
Developer Tools

How to Self-Host Paperless-ngx with Docker

Three of its requirements are about the host rather than the application. The user IDs have to match or nothing gets consumed, hyphenated OCR language codes are written with underscores, and the first start looks like a hang when it is downloading language packs.

30 Aug 2026 · 4 min read
An empty station platform lit end to end in green by a large overhead panel.
Developer Tools

How to Self-Host Uptime Kuma with Docker

Two things break this after it is working. Its data directory cannot live on NFS, and behind a reverse proxy without WebSocket headers the dashboard loads perfectly and then never updates again, with no error anywhere.

30 Aug 2026 · 5 min read
Two padlocks, one blue and one brass, hanging from a chain against a brick wall.
Developer Tools

How to Self-Host Vaultwarden with Docker

The compose file is trivial. The admin token is not: it wants an Argon2 hash rather than a password, and the hash then breaks your env file unless every dollar sign is doubled. Here is that, plus what to turn off once setup is finished.

30 Aug 2026 · 5 min read
Illustrative: a monochrome close-up of rack-mounted servers, drive bays and ports receding into shadow.
Developer Tools

GitHub's Outage Was Nearly Eight Hours, And A Retry Bug Made It Worse

GitHub's incident summary puts the 17 August outage at 13:28 to 21:15 UTC, not the three hours most people saw. A latent retry bug in VS Code amplified traffic tenfold and held Copilot down for another three.

24 Aug 2026 · 6 min read
A round analogue sub-meter with a numbered scale and a single pointer, set into a pale wall
Developer Tools

What Your Monitoring Costs the Database

Metadata queries are expensive because the server assembles the answer by walking itself. Measured on production with the backups excluded, the heaviest remaining reads were our own monitoring — the worst examined 1,748,148 rows to return two.

23 Aug 2026 · 5 min read
A magnifying glass with a wooden handle held over a fingerprint, on a white background
Developer Tools

How to Find What Is Scanning Your Tables

Knowing a table is scanned tells you little; knowing which statement scans it tells you everything. Reading MySQL's statement digests closed three open cases at once — the heaviest readers were backups, and 91.4% of the examined-row volume on the server turned out to be dumps.

23 Aug 2026 · 5 min read
A long warehouse aisle of tall racking stacked with goods, receding into the distance with a single person walking it
Developer Tools

Sixty Percent of Your Reads Use No Index

A database either uses an index to find rows or scans the table, and on a small table the scan is the right choice. Measuring which is which on a production system: 90 million of 150 million row reads used no index, most of it fine, three tables not fine at all.

23 Aug 2026 · 6 min read
Hundreds of old metal keys packed densely together, filling the whole frame
Developer Tools

The Indexes Nobody Reads

Indexes accumulate because nothing ever removes them, and removing one means proving it is unused. MySQL will tell you: of 604 on a production database, 414 went unread in a day — though two thirds of those cannot be dropped anyway, and the rest turn out not to be costing what you would expect.

23 Aug 2026 · 6 min read
Editorial Policy →