People named "Null" are being punished by computers in the weirdest ways

zohaibahd

Posts: 935   +19
Staff
The big picture: Having the last name "Null" is apparently the modern equivalent of being cursed. Just ask the Nulls who endure a never-ending loop of website errors, processing failures, and customer service reps telling them their accounts don't actually exist. And it's all thanks to a computer scientist who decided that, when it comes to programming, the word should be reserved for signifying an invalid or non-existent value.

One of the victims is Nontra Null, a 41-year-old clothing designer from Burbank. She was initially excited to take up her husband's name since it was a lot easier to pronounce. What she didn't realize was the pain it would cause her.

Nontra Null told the Wall Street Journal that in 2014, she nearly missed attending a friend's wedding in India because the consulate's systems kept getting tripped up trying to process her newly acquired surname when issuing her visa. She made it just before her flight after an agonizing delay.

These days, Nontra has learned some clever tricks to bypass the null issue, like using her former maiden name or inserting a hyphen into her current last name to prevent systems from misreading it as computer code.

Even basic tasks like booking hotel rooms online can turn into massive headaches for Nulls. Jan Null, a 75-year-old meteorologist, now includes his first initial when making reservations to stop sites from interpreting his name as an empty value and locking him out.

Those without the surname aren't immune from null nuisances either. Joseph Tartaro told WSJ that he purposely got a "NULL" license plate in 2018 assuming it would be a harmless joke. Amusingly, after paying a single parking ticket in 2018, his mailbox was soon flooded with hundreds of erroneous traffic citations meant for other vehicles. His plate triggered a glitch in the systems and wrongly linked those fines to his vehicle.

After the debacle made headlines in 2018, the citation company finally left Tartaro alone. But just last December, his insurance company accused him of being in two separate accidents within 48 hours when their system wrongly matched his policy to the incidents.

For Morgan Null, a 26-year-old attorney in Pittsburgh, her family name created issues when she tried canceling her internet service after moving. The provider initially claimed they couldn't because her account had no associated last name on file despite her paying them for months. She eventually had to switch ISPs.

The origin of this coding blunder traces back six decades to a British computer scientist who first gave null its special reserved status. He obviously didn't take into account the 4,910th most common surname when he did so, and has regretted the move ever since, even calling it a "billion-dollar mistake."

Permalink to story:

 
Is there any (reasonably, actually used) language that would treat "null" the same as null? Not that I know of.

I expect people with names like Blank, Missing, Na, or Unknown have similar problems.

In almost all cases this isn't because of a defect in the language, it's because someone--faced with messy data--realized that these values (and "Null") were being entered in the system and had to specifically look for them.

So don't blame the developers, blame the people who enter garbage data.
 
Is there any (reasonably, actually used) language that would treat "null" the same as null? Not that I know of.

The problem likely stems from badly written APIs and batch transfers in CSV files, or even fixed field file formats designed in for COBOL systems in the 1970s, where magic words and numbers (such as the text "NULL" meaning a NULL) could trigger meaning beyond what the field originally was intended for later when they were integrated with internet era systems in the 1990s, to not break compatibility with decades old integrations. Such kludges have a tendency to live on long after the original system that the kludge was written for is gone.
 
In the beginning, null was invented. This made a lot of people really angry and has been widely considered a bad move.
 
There was a case in Australia of a man who got a number plate of "Invalid" as in a person who is medically ill. However, traffic wardens when a number plate was unreadable or not present would write "Invalid" as in not valid in the ticket, and suddenly he got a few thousand tickets in the mail. It was not resolved till he took it to court and showed two tickets saying he was parked in two no standing zones more than 50km apart at exactly the same time!
 
This is the work of shtty DBAs who coded 'NULL' as a string. null (in SQL,Snowflake,etc) is an inherent value.
 
The concept of zero is Indian, granted as a gift to Arabians
https://www.mathnasium.com/math-centers/portwashington/news/who-invented-zero-journey-back-time (roman digits aren't easy to read, so the whole world adopted the Arabians system)

so, from here, Latin get it and call it nulla

knowing some facts, may make you dumb in the eyes of these that are unaware, but you never give-up
right?
Null is very different to zero. Null simply means the value is unknown. We gave up on Roman numerals not because they were hard to read but because they couldn't be used for this new thing called mathematics.
 
How am I the first to mention little Bobby tables?
exploits_of_a_mom.png

source: xkcd.com/327/

For the non-programmers:
null indicates a value is yet to be assigned (it's empty). It's a special type of value of its own.
If an application gets this confused with "null" as a string (text) that's entirely the fault of the programmer - sanitize your input values!

There's weakly typed languages like JavaScript etc where this is a lot more likely to happen because you don't indicate the type (string) of the variable and okay... the programmer just got a little sloppy somewhere possibly due to a lack of experience. But if you manage to do this in a strong typed language like for example C# then I bet the code is open to other oddities/exploits as well.
 
Last edited:
Null is very different to zero. Null simply means the value is unknown. We gave up on Roman numerals not because they were hard to read but because they couldn't be used for this new thing called mathematics.
thats correct in the math aspects, but Null stays as a Zero= if you dont understand something you are in the Null zone
 
thats correct in the math aspects, but Null stays as a Zero= if you dont understand something you are in the Null zone
We're talking about computer systems here and specifically relational databases which utilise the concept of NULL. I've used most relation databases and NULL is definitely not zero, it's an unknown value. So adding NULL to 5 doesn't give you 5, it gives you NULL as the result is equally unknown. Most database programmers are OK with NULLs but that's not always the case with non database folk. It gets even worse when you try to pass NULL values to systems that don't understand the concept of NULL. Programmers get round this by using 0 for numbers that have NULL values but obviously this isn't correct. And sometimes they use "NULL" or "N/A" or just "" for string values that are unknown and you get issues like those described in the article above.
 
The perfect opposite to this bad implementation habit that I know is the concept of SSM used in avionics (electronic systems that are used in aircrafts). SSM means Sign/Status Matrix.
The data (for instance, speed) has 2 variables, the value itself (for instance, as a floating-point number) and the status matrix (usually an integer used as a bitfield to store several flags and/or values).
This allows to distinguish, for instance, a very high speed that is high because you're super fast, vs a very high speed that is probably too high due to another data used in the computation that was itself consider as suspicious or erroneous.
 
I've used most relation databases and NULL is definitely not zero, it's an unknown value. So adding NULL to 5 doesn't give you 5, it gives you NULL as the result is equally unknown.
It should give you a big fat error about mismatched types and fail to do anything (SQL is strongly typed). That's why the query should be written to handle null values. In databases you tend to call to functions for calculations though - like SUM, MAX, AVERAGE etc and they'll all count null as zero.

COBOL like JavaScript is loosely typed and from what I'm reading doesn't actually have a concept of null - which is probably why this problem is happening. Considering COBOL has weird quirks and hardly anyone is trained in it anymore if DOGE really wants to improve E (efficiency) it should look into phasing out all systems reliant on it. The few people that understand it are very expensive and its quirks can lead to problems like it did now.
Sometimes to be efficient the right approach is to start over.
 
We're talking about computer systems here and specifically relational databases which utilise the concept of NULL. I've used most relation databases and NULL is definitely not zero, it's an unknown value. So adding NULL to 5 doesn't give you 5, it gives you NULL as the result is equally unknown. Most database programmers are OK with NULLs but that's not always the case with non database folk. It gets even worse when you try to pass NULL values to systems that don't understand the concept of NULL. Programmers get round this by using 0 for numbers that have NULL values but obviously this isn't correct. And sometimes they use "NULL" or "N/A" or just "" for string values that are unknown and you get issues like those described in the article above.

Yeah, in a database NULL is a special marker, where here the name would be a string "NULL" with the quotes.

This just means every person with "Null" as their name is acting as a test case for badly programmed websites.
 
It should give you a big fat error about mismatched types and fail to do anything (SQL is strongly typed). That's why the query should be written to handle null values. In databases you tend to call to functions for calculations though - like SUM, MAX, AVERAGE etc and they'll all count null as zero.
The previous poster was saying that null is 0 and I was simply explaining it's not. It's goes without saying that a field in a database table needs to be declared as accepting null values for it to contain a null value.
 
Back