{
  "id": 8656486,
  "title": "Your Code Cannot Tell Blank From Unanswered",
  "url": "https://urgent.news/2026/09/20/your-code-cannot-tell-blank-from-unanswered",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-20T09:10:38.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/sergueyasaelshinder/your-code-cannot-tell-blank-from-unanswered-4e00"
  },
  "original_language": "en",
  "account": "A study revealed that 40% of customers had opted out of marketing. However, 40% had not opted out and 40% had never been asked for their preferences. The reason for this discrepancy is that the question arrived 18 months after they had signed up and the column was already populated with a value. Three different situations were being represented with the same data. Nobody had ever been asked directly. Some had been asked and declined, while others changed their mind and removed their preference. With only one column and two possible values, the absence of a value and a zero value were treated as equivalent, leading to ambiguity. This issue appears at two stages: the condition and the update. In the condition, the language treats an empty string, empty list, missing key, and zero as the same. In the update, when a form posts every field it renders, fields that were not touched come back as blank, leading to incorrect recording of customer data. It is crucial to make the request specify which fields it intends to change rather than listing all fields the page happened to draw. Additionally, at the counting stage, sums and averages can disregard values they cannot add up. The resulting number may appear accurate, but it only reflects the opinions of those who responded. To ensure clarity, it is essential to be precise about the states and record them early in the type. If there is only room for two options, document which two were kept and what was discarded. Someone may review this column in four years to make a decision about real people, and they should be aware that the third meaning once existed unless explicitly stated.",
  "summary": "The report said forty percent of customers had opted out of marketing. Forty percent had not opted out. Forty percent had never been asked, because the question arrived eighteen months after they signed up, and the column was created with a value already sitting in it. Three different things are wearing the same clothes. Nobody was ever asked. Somebody was asked and said no. Somebody said yes,…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}