ZYVOPMulti-Platform Sync
SeriesAI NewsWhy ZyVOPJoin Discord
LoginGet Started
ZYVOPMulti-Platform Sync

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
  • Changelog
  • Compare Platforms
  • Hashnode vs ZyVOP
  • DEV vs ZyVOP
  • Developer API & CLI
  • Author Handbook
  • 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

Direct email dispatches when new stories are published. Zero algorithms.

More from Mathieu Ades

View profile

My new author page on a platform carried "noindex, nofollow" and I could not tell whether that was policy or emptiness. The tag vanished once the first article existed. Some things cannot be vetted

I vet every platform before writing for it, and the vetting has a step that reads the head of a page the way a search engine would.

3 minSep 15

I posted two answers on a question site eight minutes apart, within my daily limit. Eight hours later the second was removed as spam. Nothing in its text explains it; only the eight minutes differ

I answer questions on a public question site when a question is one my measurements can actually inform: what a mail client's built in read receipts do and do...

3 minSep 15

A community site refused my posts twice in one week with a page it does not explain. Then its editor loaded, I posted, and the page is public. Nothing changed on my side, and that is the measurement

There is a community site for people who build things where I have a long post from late July, still public, still without a robots tag, and a handful of...

4 minSep 15

Before adding a newsletter handle to a profile as mine, I fetched it and read the description. It was mine. I check because I once recorded a page bearing my product's name as mine. It was not

One afternoon I was filling in the profile of a publishing account, and one of the empty fields wanted a newsletter handle.

3 minSep 15

A reader in my consistency check took the first 14 000 characters of a table and called that the table. For weeks the table was shorter. One night it was not, and a present text was reported missing

Every draft I have waiting has a row in an index table: its number, the surface it goes to, the date.

4 minSep 15