Comment by aithrowawaycomm

3 days ago

This is hilarious:

  Even those without the last name Null are finding themselves caught in the void. Joseph Tartaro got a license plate with the word “NULL” on it nearly 10 years ago. The 36-year-old security auditor thought it would be funny to drive around with the symbol for an empty value. Maybe a police officer who tried to give him a ticket would end up writing null into the system and not be able to process it, he joked to himself.

  In 2018 he paid a $35 parking ticket. Soon afterward, he said, his mailbox was flooded with hundreds of traffic tickets for incidents he hadn’t been involved in. Tickets were from other counties and cities for vehicles of different colors, makes and models. A database had associated the word “null” with his personal information and citations were sent to Tartaro, who lives in Los Angeles.

IIRC the court told him the only way that he'd be able to stop getting other people's tickets in the mail would be to get a new plate. Otherwise he'd have to keep coming back to court to get them thrown out.

  • I'm doubtful changing his plate would actually fix it. There's a decent chance that either his contact info would still be associated with null, or every record that currently has null would be updated to his new plate, which would probably make it even more of a pain to fight in court.

  • You would think that at a certain point he would never have to pay a personal traffic citation again since they would probably believe him that it wasn't him.

> A database had associated the word “null” with his personal information and citations were sent to Tartaro, who lives in Los Angeles.

I'm not the biggest expert on databases, although I've worked with them a bit, but how does this occur in the first place? Usually, associations are done with primary/foreign keys. What database would allow null in that case?

  • I actually wonder if many individual cops use "null" (the ordinary word) as a shorthand for "plate not applicable," "not identified", "missing" etc - semantically the same thing as NULL in programming, but then in this case it wouldn't be a database NULL error. In theory the same thing could happen if someone had a DEALER vanity plate. (Though that choice might be rejected for obliquely referencing drugs.)

  • There are so SO many databases out in the wild that were built by people with little regard for building them correctly - or they simply not programmers/DBA's in the first place, but their boss told them to just make it happen.

    • This is genuinely terrifying to think about. All the ones that are really important are correct, right...? Like medical systems and financial systems and legal and..

  • If there are multiple systems involved, one of them produces a null and the other takes that as a key to create a record, but somewhere in between it gets stringified, then the string null might be accepted by a system using string keys.

  • I'd guess that something somewhere has got its sanitization wrong. They tested it against

        Robert'); DROP TABLE Students;--
    

    And see that it now provides

        'Robert DROP TABLE Students'
    

    Problem solved! And then later somebody else comes along, ignorant of the sanitization step, and provides

        NULL
    

    But the code strips special characters and adds quotes, so they've actually inserted:

        'NULL'

  • It'd be sufficient if a system involved somewhere in the process converted null values to strings. There's innumerable ways, but here's a simple one in Java:

        final String myNullString = "" + null;
        System.out.println(myNullString);

  • They all do. But these are seperate databases that get translated to text at some point and then converted to Null

    CREATE TABLE orders ( id INT PRIMARY KEY, customer_id INT NULL, FOREIGN KEY (customer_id) REFERENCES customers(id) );

    vs

    CREATE TABLE orders ( id INT PRIMARY KEY, customer_id INT NOT NULL, FOREIGN KEY (customer_id) REFERENCES customers(id) );

  • The simple explanation is most of these are Excel VLOOKUPs gone wrong.

  • The real question is why anything in the STRING is getting interpreted at all. In databases ‘null’ is not the same thing as NULL.

>his mailbox was flooded with hundreds of traffic tickets for incidents he hadn’t been involved in.

I had this problem a few years ago when I got a similar license plate — every time somebody wrote NOPLATE in the license field, I received their citation.

My state eventually "fixed" this by blocking all citations written NOPLATE... which means I don't even get legitimate [i.e. my vehicle illegally parked] fines anymore =P