27 August 2026
A benchmark on a phone came out
311× slower than Lua, and refusing to accept it uncovered three Ring
loop patterns that cost far more than they read — one of them quadratic
while looking linear, hiding in our own benchmark and 675 times in a real
codebase. Each has a one-line fix, and the checker now finds all of them:
traps by default, opportunities with --advise.
Read it →
25 August 2026
A testing campaign whose goal
was not to confirm the software works, but to break it on purpose. Two real
bugs fell out — one of them made the program vanish mid-run, with no error
and nothing printed at all. What we attacked, how, and what came out, in a
table you can read in ten seconds.
Read it →
26 August 2026
Every check said the package
was complete. Copied to a clean machine, it produced no output at all — no
error, no window, no message. One file turned out to be a doorway to
seventy-five more. Why Ring++ stops rather than guessing.
Read it →
26 August 2026
Our own design document
promised a single self-contained file, before anyone tested whether that
was possible. It was not. What actually ships, how it differs from Ring's
own packaging tool, and what "dependency-free" precisely means.
Read it →
26 August 2026
When it cannot follow a whole
program, it refuses to give a verdict rather than reporting it clean.
Because a guard that reports success by staying quiet is indistinguishable
from one that works — a lesson this project learned on itself, twice.
Read it →
26 August 2026
Two sibling projects, examined
read-only. No bugs found in either — and two mistakes found in Ring++'s own
published claims. The most useful result was the one about us.
Read it →
More when there is something
measured worth writing down. Found a bug, or want to ask something not
covered here? GitHub
issues is the place. Findings about Ring itself go to the Ring Google
Group, posted after review — never as a pull request against Ring by
default.