ZyVOP Logo
Content That Connects
SeriesAI NewsWhy ZyVOPJoin Discord
LoginGet Started
ZyVOP Logo
Content That Connects

The Developer Publishing Hub. Write once, publish everywhere, and make your work citation-ready with built-in SEO, AEO, and GEO discovery support. Zero reader paywalls.

Content

  • Categories
  • Tags
  • Badges
  • Leaderboard
  • Write Article
  • Newsletter

Company

  • About Us
  • Why ZyVOP
  • Developer API & CLI
  • Write for Us
  • Contact

Connect

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • DMCA Policy
  • Code of Conduct

ยฉ 2026 ZyVOP. Developer Publishing Hub.

Zero paywalls ยท Full content ownership
All systems operational
HomeMy daily check that my pages were still alive was watching four emails I had sent to other people, and three of my own pages were not on the list

My daily check that my pages were still alive was watching four emails I had sent to other people, and three of my own pages were not on the list

M
Mathieu Ades
Founder
September 2, 2026
3 min read
My daily check that my pages were still alive was watching four emails I had sent to other people, and three of my own pages were not on the list
Article
๐Ÿ‘1

I distribute a small browser extension by writing in public, and the pages that result live on other people's platforms. So I run a check every morning: fetch each of them, look for my product name, and tell me if one has gone quiet. It watched a hundred and sixty two addresses.

For several days it ended with the same sentence: five still undecided. It even named them. I had stopped reading that line, the way you stop hearing a fan.

Why I had stopped

To settle those five, the tool wanted to replay all seventy one of its undecided cases through a browser, which takes a long time. So I never ran it. A verification you decline to launch verifies nothing, and the reason I declined was not laziness, it was that the tool offered no way to ask a smaller question.

I added one: replay only the addresses whose name or URL matches what I give it. Then I asked about the five.

None of them was undecidable

Four were not my pages at all. They were outreach emails I had sent to other sites, and the address recorded against each one was the recipient's contact page or the article of theirs I had written about. Those pages are alive and they do not mention me. That is not a failure, that is what it looks like when someone has not replied.

The fifth sits behind an anti robot challenge. I do not go around those, so that address can never resolve, and reporting it as undecided every morning was the tool asking a question it had no way to answer.

A sixth, which the platform had removed weeks earlier and which now returns a plain 404, was still being fetched daily.

The shape of the mistake

The code kept every address except those in a list of statuses to skip. That list had grown one entry at a time, each addition triggered by finding something it should not have been watching. Two more were missing, and there was no reason to think a third pass would have been the last.

The function's own description said the opposite of what it did: it claimed to return the addresses of lines still declared alive. That sentence is a list of what to include. The code was a list of what to exclude. Nobody had noticed because both readings produce a plausible number.

I switched it to the inclusion the description promised. A hundred and sixty two became a hundred and fifty five: ten left, all of them correctly, and three arrived.

The three that arrived are the point

Those three are my own pages, publicly readable, and nothing had been watching them. Two were skipped because one column said submitted while the column next to it said live, and the filter read whichever cell it found first. The third was skipped because the word for discarded appears in its notes, and the filter searched the entire row rather than the status field.

That third one had been added to the watch list on purpose weeks earlier, with a note in my records saying so. It was won and then quietly lost, and the comment in the code describing exactly that danger was sitting three lines above the test that caused it.

After the switch: sixty three replayed, sixty three alive, none undecided.

What it costs, because it does cost something

An exclusion list is wrong loudly. It watches things it should not, and they show up as noise you can see. An inclusion list is wrong quietly: anything whose status is written in a way the list does not recognise simply vanishes from the check, and nothing tells you.

So the tool now names every address that carries no recognised status and that no other line covers. The first version of that warning listed eight, five of which were fine by design, and a warning that fires every morning is a warning you stop reading. I narrowed it to the real question: is this address watched by anything at all. It now names one or none.

Disclosure

I build BlueTicks for Gmail, a Chrome and Firefox extension that shows WhatsApp style ticks in your Gmail sent list, one tick sent and two blue ticks opened. It costs 4 dollars a year, and the free tier covers 30 emails a month. Everything above comes from distributing it in public and writing down what the tools did. You can find it at blueticks.io.

The five undecided were never a measurement problem. They were the check telling me, every morning for days, that it did not know what it was supposed to be looking at.

Comments (0)

Login to post a comment.

M
Mathieu Ades

Founder

Passionate developer sharing knowledge about modern web technologies and best practices.

Subscribe to Mathieu Ades's Newsletter

More from Mathieu Ades

View profile

A site served a real article to my command line and sent my browser to a download page. Neither client alone could see it

I distribute a small browser extension by writing in public, so I keep a list of pages that rank for the questions my users actually type. This morning a search...

3 minSep 2

I answered four vetting questions about a platform from the outside and got all four right. Two gates were waiting that no page could have shown me

Yesterday I vetted a publishing platform I had never used, decided it was worth writing for, made an account, and found two requirements that nothing on the out...

4 minSep 2

A platform invited me to post a product update. I scheduled it before checking whether anything had changed

A directory where my product is listed sent me a friendly nudge: time for a product update, keep your community engaged. It takes one field and a few minutes. I...

3 minSep 2

I submitted to six directories in one morning. The fee appeared at five different stages, and never on the submission page

I spent a morning submitting a small browser extension to product directories. Six flows, all of them presenting themselves as free at the point where I decided...

3 minSep 2

The set of pages that will ever mention your category is finite, and you can measure the day you finish reading it

Finding pages that already discuss your category feels unbounded. It is not. Three differently worded searches returned the same count of already known domains, and the one new page did not belong in the comparison at all. How to tell a finite corpus from an infinite one, and where the effort goes once you reach the edge.

3 minAug 30