Blog (build log)

The KNJ Network Blog

Notes from building KNJ Panel, in the order it actually happened.

blog /blɒɡ/ noun — 1. A web log. 2. Here: a build log. What we built, what broke, and what we learned.

269
Phases written
21 Oct 2026
Latest entry
Every phase
Published as it happens
Phase 188

September 3, 2026 · 1 min read

The Shortcut That Called Itself

A domain reached on the panel port returned an error that the request was too large, even though the request had not grown. Cause The feature that lets…

Read more →
Phase 187

September 3, 2026 · 1 min read

A Wrong Answer Beats a Random One

A recent incident showed that when a domain’s certificate has not been issued yet, an HTTPS visit fell through to the server’s default site and could show unrelated…

Read more →
Phase 186

September 3, 2026 · 2 min read

The Shortcut That Didn’t Ask

A restored account’s contacts had already been confirmed safe once, checked against the real contact entries with nothing missing. Then the actual owner tried to use them, and…

Read more →
Phase 185

September 3, 2026 · 1 min read

The Tool That Checked Itself

A new restore-time safeguard shipped the same day it was designed, and within hours we found it produced a false positive on a core WordPress file. The unit…

Read more →
Phase 184

September 3, 2026 · 1 min read

Teaching the Restore Itself to Look

Our earlier review of a problematic backup was manual, which is not a repeatable safeguard. This phase makes the restore check for it automatically. A gap in signature…

Read more →
Phase 183

September 3, 2026 · 1 min read

The Fix That Wasn’t the Whole Fix

The dashboard hang from earlier was supposed to be closed, but a satellite server still hung at login. The first fix was real and necessary, but not the…

Read more →
Phase 182

September 3, 2026 · 1 min read

What Else Were We Not Looking For

Finding the missing contacts raised a broader question: what else might a backup carry that the restore never looks for? We reviewed a real-world archive against what the…

Read more →
Phase 181

September 3, 2026 · 1 min read

The Filesystem Nobody Was Watching

On a test restore, an account’s dashboard showed 1MB used although its files totalled about 1.8GB. On this server the home area was on a separate disk, and…

Read more →
Phase 180

September 3, 2026 · 1 min read

The Page That Was Never Going to Load

The admin dashboard on a satellite server showed a spinner indefinitely. The page shell loaded instantly, but a request for live service status never returned while every other…

Read more →
Phase 179

September 2, 2026 · 1 min read

The Address Book Nobody Went Looking For

While testing a restore from a real-world backup, everything checked out except the saved webmail contacts. The restore feature had never looked for them, although a full-account backup…

Read more →
Phase 178

September 2, 2026 · 1 min read

Closing the Loop on Two Patterns

Two bugs this week turned out to be patterns, so we checked for the same shape elsewhere. The log that doubled itself The malware scan log showed each…

Read more →
Phase 177

September 2, 2026 · 1 min read

Your Domain, Your Port, Your Certificate

Two reports arrived together: a customer’s own domain on the account port showed a certificate warning, and the dashboard’s disk usage read “Unlimited” instead of a real number.…

Read more →
Phase 176

September 2, 2026 · 1 min read

The Subdomain That Never Got Its Address

During restore testing, an account with four subdomains had working DNS for only the first one. The records existed in the database but were missing from the generated…

Read more →
Phase 175

September 2, 2026 · 1 min read

The Password That Broke Its Own Config

A restore test produced a WordPress site with a PHP parse error. The database and the password were fine; the configuration rewrite was not. Cause The rewrite used…

Read more →
Phase 174

September 2, 2026 · 1 min read

Scanning Whole Accounts for Malware

During resource monitoring on a development server, we noticed an unexpected process running from a site’s files. That raised a broader question: what scans website files for malware?…

Read more →
Phase 172

September 2, 2026 · 2 min read

What a Real-World Restore Actually Breaks

Earlier restore testing used synthetic archives and one real-world backup used to verify the format. A more realistic restore turned up three problems the earlier testing had not.…

Read more →
← Newer
Older →