[HN Gopher] When your last name is Null, nothing works
       ___________________________________________________________________
        
       When your last name is Null, nothing works
        
       Author : impish9208
       Score  : 79 points
       Date   : 2025-02-20 12:39 UTC (10 hours ago)
        
 (HTM) web link (www.wsj.com)
 (TXT) w3m dump (www.wsj.com)
        
       | impish9208 wrote:
       | Gift link: https://www.wsj.com/lifestyle/null-last-name-computer-
       | scient...
        
         | neonate wrote:
         | https://archive.ph/KxNNu
        
       | robertlagrant wrote:
       | Who's checking if a string matches "null" rather than is null!?
        
         | bandrami wrote:
         | Oh friend.... you have so much to learn
        
         | lores wrote:
         | Any time "$var" is interpolated without check into an INSERT,
         | and any maintainer finds it easier to just check for null as a
         | string rather than ask a DB admin or committee to update the DB
         | after a lot of red tape and risk assessment.
         | 
         | So... very often.
        
           | hsbauauvhabzb wrote:
           | Guess I'll change my name to ';drop table customers then ;)
        
             | lores wrote:
             | You can make a good case to spend time sanitising requests
             | to avoid catastrophic failure, but the "null" problem is
             | one that quickly becomes a lot of work and risk to fix
             | after the fact, for no obvious benefit except what's seen
             | as the pedantry of some nerd, so it gets ranked all the way
             | at the back of the list... until someone named Null comes
             | along, and probably still even then.
        
               | hsbauauvhabzb wrote:
               | I disagree. If your system is failing to correctly type
               | check strings during SQL interpolation, you should
               | probably kill it with fire.
        
               | lores wrote:
               | I don't disagree... In most cases, it's not your system,
               | though, it's someone else's.
        
               | hsbauauvhabzb wrote:
               | > You can make a good case to spend time sanitising
               | requests
               | 
               | > In most cases, it's not your system, though
               | 
               | You can't pick and chose whether you own a system or not
               | when presented with an opposing argument. That's not how
               | this works.
        
               | lores wrote:
               | "System owner, we need to spend $10K to sanitise requests
               | or a kid can destroy our business overnight".
               | 
               | "System owner, we need to spend $10K to clean up the
               | database and code so that null and "null" are not the
               | same thing, even though it works 99.99% of the time".
               | 
               | Do you see the difference?
        
               | hsbauauvhabzb wrote:
               | If there are type confusion bugs related to SQL
               | statements, I think SQL injection is likely to exist, if
               | not some other super nasty bugs will eclipse it.
               | 
               | You can waste 10k paying someone to look at it or you
               | could not waste your money, but I'd be fucked before I
               | sign off on a system with those kinds of bugs as being
               | secure, evidence or not. Someone higher up can accept
               | that risk, but I'd rather not be liable when it's
               | breached or catastrophically damaged because some kid
               | changed their last name to an SQL injection payload.
               | 
               | And yes, I've checked, in my country unpronounceable
               | names are not permitted, otherwise I'd have one. There
               | are existing case studies of this, iirc in the UK.
        
           | munchler wrote:
           | I don't buy that. The string "Null" is different from the
           | keyword null in programming, so `if $var = null` would be
           | false when $var is the string "Null".
           | 
           | Note that when interpolated into SQL, the contents of $var
           | must be surrounded by single quotes, so you end up with
           | `insert into Table (Name) values ('Null')`, which correctly
           | inserts the string "Null" into the table.
           | 
           | If you were to leave off the quotes, you'd get a SQL syntax
           | error for all other people, so that code would never make it
           | into production. E.g. `insert into Table (Name) values
           | (Smith)` is a syntax error.
        
             | lores wrote:
             | > $req = "insert into people (name) ('$name')";
             | 
             | > $db.exec($req)
             | 
             | Now you have "null" as strings in the DB in any language
             | that interpolates null as "null".
             | 
             | > select * from people where name is not null
             | 
             | "Why do we see nulls in testing? Damn, the DB has dirty
             | data. Go through the trouble of fixing it, or...
             | 
             | > select * from people where name is not null and name !=
             | "null"
             | 
             | The end. Sorry Mr Null.
        
         | hotsauceror wrote:
         | People who neither know, nor care, what they're doing. When
         | you've worked with people who are allowed to write code that
         | interfaces with databases for more than about two weeks, you
         | may be dismayed to see the large overlap between those two
         | groups.
        
         | CivBase wrote:
         | Plenty of systems represent all values as strings, and "null"
         | is the obvious (although probably not the _best_ ) way to
         | represent a null value as a string.
        
           | francisofascii wrote:
           | Which systems do this? I could see situations where reading
           | in a text file, you have might assume the value null is not
           | the string "null". I am struggling to think of other
           | situations.
        
             | CivBase wrote:
             | Bash, C strings, URL query strings, and CSVs off the top of
             | my head.
        
         | hsbauauvhabzb wrote:
         | There's a few condescending answers here. You will find this
         | more common in weakly typed languages like PHP and VB and
         | maaaaaybe JavaScript, where null == "null" will probably
         | evaluate to true.
        
           | IggleSniggle wrote:
           | js doesn't have this particular problem, but it does have
           | both `null` and `undefined`, which will have varying
           | semantically different usages depending on local conventions.
           | 
           | For example, some will prefer to use `null` to mean that a
           | value is _intentionally_ missing (for example, the db
           | explicitly returned a null value), while `undefined` does not
           | have any such connotation. These exist for frontend engineers
           | to navigate decisions often far removed from their influence.
           | 
           | Anyway, `null != ''` and `null != 'null'`, but `null ==
           | undefined`. However, `null !== undefined`.
           | 
           | A lot has been made of js Truthy/Falsy equality operator, but
           | most js programmers will take steps to actively avoid it
           | coming into play. Probably the `void` operator is still
           | under-used though in frontend code, though, since there's
           | some pretty surprising legacy things that can happen when
           | interacting with DOM APIs (like `checkbox.onclick = () =>
           | doSomething()` resulting in different checkbox behavior
           | depending on whether or not `doSomething` returns a boolean
           | or undefined).
        
             | hsbauauvhabzb wrote:
             | I would call myself a relatively good developer and I fully
             | understood type checking occurred via ===, and compare by
             | value caught me. In my defence, I assumed this was less of
             | an issue in modern JS, but thou shall not break backward
             | comparability, apparently.
        
             | koakuma-chan wrote:
             | I treat usage of `==` in JavaScript as undefined behavior.
        
             | Sohcahtoa82 wrote:
             | I kinda want to change my middle name to "undefined" now.
             | 
             | I wonder if I could legally define my middle name as
             | starting with a lowercase letter.
        
         | bilekas wrote:
         | People who know that the majority of people are stupid and will
         | mess up even nulls.
        
         | mtmail wrote:
         | There's plenty of name=Null, name=Undefined, name=Unknown
         | entries in OpenStreetMap. Some are real places, some are
         | mistakes, not easy to tell especially for restaurants or bars.
        
       | CSMastermind wrote:
       | This happened to a kid in my high school. Last name null, broke
       | the system they used to print report cards.
        
         | Vilian wrote:
         | Mandatory https://xkcd.com/327/
        
           | drpossum wrote:
           | Why is this mandatory? Who made the mandate?
        
             | dwaltrip wrote:
             | It's a bit. It's quite popular to link an xkcd whenever
             | it's relevant, along with one of a few different catch
             | phrases. "Mandatory" being one of those. For this phrase in
             | particular, the joke is that there is usually an xkcd for
             | most situations, and that it is our "duty" as nerds to link
             | to the appropriate one. It's an inside joke for nerds. I
             | hope this explains the custom to you.
        
       | renatovico wrote:
       | my have a c and during first 10-15 years all system broken and my
       | "vat" first letter is 0 same problem, if the dba genius use
       | integer random bugs happen :(
        
       | gingersnap wrote:
       | https://xkcd.com/327/
        
         | brazzy wrote:
         | Little Bobby Tables is all grown up and has had their first
         | kid, Ignore All Previous Instructions
        
       | epolanski wrote:
       | I knew a person who's full name was `Mai Null`.
       | 
       | It always made me laugh because "Mai Null" means "never null" in
       | Italian and because he's had plenty of issues due to his family
       | name.
        
       | Davidbrcz wrote:
       | That should be part of every test suite
        
       | AlotOfReading wrote:
       | For many years, my mother's proper legal name on her birth
       | certificate was the empty string. This wasn't usually a problem
       | before computers as she'd go by a given name instead, even on
       | government paperwork. She started having issues with systems
       | being unable to process her information in the late 90s and early
       | 2000s. Background checks would fail, passports couldn't be
       | issued, and so on. She eventually had it changed, but I imagine
       | it'd be even worse now.
        
         | great_wubwub wrote:
         | There must be an interesting backstory here. Did her parents
         | deliberately not name her? Did they forget?
        
           | andrewmcwatters wrote:
           | Ah yes! Little miss (indecipherable silence).
        
           | boxed wrote:
           | I mean.. there are tons of people without last names in the
           | world. https://www.kalzumeus.com/2010/06/17/falsehoods-
           | programmers-...
        
             | easton wrote:
             | And first names, which causes some government agencies to
             | put FNU in that field for "first name unknown".
             | 
             | My mom told me about a time they had someone with that
             | situation at work, and people would call the person FNU
             | until they were corrected.
        
           | AlotOfReading wrote:
           | The hospital staff filled out most of the birth certificate,
           | but left the name field blank when they gave my grandmother
           | the paperwork to take home. She either didn't notice or
           | didn't care (both possibilities are realistic) that the name
           | field was blank and submitted it anyway. The state accepted
           | it.
           | 
           | My mother started filling out her own paperwork around
           | elementary school because my grandmother created so many
           | problems that school staff would simply give up.
        
         | DecentShoes wrote:
         | Little Bobby ""
        
       | DC-3 wrote:
       | I have my own mildly amusing story of breaking systems with my
       | name. I have a twin with the same first initial. Any time we had
       | to use a system at school which constructed usernames from some
       | combination of first initial, surname, and date of birth, only
       | one account would be provisioned between the two of us.
       | 
       | It became almost a ritual in the first term of the school year
       | for us to make a visit to IT Support and request a second
       | account... there was always a bit of contention between us about
       | who got the 'proper' username and who got the disambiguated one!
        
         | seafoamteal wrote:
         | It's weird that none of the systems automatically fell back to
         | disambiguating with a number or something similar if the
         | 'proper' one already existed. I'm wondering if you were a year
         | or two apart instead, would the system simply silently fail to
         | create a new username for the younger sibling when they joined?
        
           | philipwhiuk wrote:
           | If they were a year or two apart the DOB would have
           | disambiguated it.
        
         | philipwhiuk wrote:
         | At my school you were provisioned as <two-digit-start><first-
         | three-firstname><first-three-last-name>. e.g. Joe Bloggs
         | starting in 2000 is 00joeblo
         | 
         | Cue problems when two "Simon Smith" join in the same year. They
         | were given 00simsmi and 00smisim I think.
         | 
         | I am pretty sure they spent 7 years at school forwarding each
         | other email as various teachers assumed the default would work.
        
         | ghaff wrote:
         | A former employer had a first letter of given name + last name
         | (actually first 5 letters) convention for email addresses. They
         | did have a fallback--usually with second letter of given name.
         | But, of course, a lot of people just automatically emailed the
         | convention with the result that certain email "twins" got
         | misdirected mail.
         | 
         | A very common one at one point was that the CFO shared a first
         | letter of name with his daughter. As I recall, he actually had
         | the email in the usual convention so it's not like his daughter
         | was receiving lots of highly confidential financial info but
         | there was regularly misdirected mail.
        
           | skissane wrote:
           | > A former employer had a first letter of given name + last
           | name (actually first 5 letters) convention for email
           | addresses
           | 
           | I once heard a story (possibly apocryphal) about a place
           | which used a similar "first initial and truncated surname"
           | convention for usernames, except theirs was first three
           | letters of surname, followed by first initial, followed by
           | some digits. And it all worked great until they hired a guy
           | named Tom Cunningham
        
         | juujian wrote:
         | Meanwhile, friend of mine's last name was Li, and IDs were
         | first initial + last name + #
         | 
         | Her number had three digits.
         | 
         | I'm guessing it's the birthday that really messed the system up
         | though?
        
         | detourdog wrote:
         | I set-up a directory system for a small school. The students
         | logins were a combination or initials and date of birth. When I
         | created the scheme I knew that a set of twins would break the
         | system. Somewhere between 3 and 5 years we finally got a set of
         | twins that needed to modify the system. I called them to my
         | office and found out which one came out first and appended 1
         | their usernames and 2.
        
       | zenethian wrote:
       | The number of times that a website rejects my first name because
       | it has a hyphen in it, even in 2025, is astounding. I get told
       | all manner of things by support staff, like "just leave it out"
       | as if it's just not an important part of my name or anything.
        
         | andrewmcwatters wrote:
         | Same, as someone with two middle names. Both scenarios are very
         | common.
        
           | jihadjihad wrote:
           | I've wondered about this myself, though I only have one
           | middle name. Do you typically enter both middle names into
           | the "Middle Name" form field?
        
             | fallinghawks wrote:
             | Not the person you asked, but I also have a 2 word middle
             | name. I enter both but it's a crapshoot as to whether it
             | will take the first, the second, or both. I think a lot of
             | older systems could handle 2 words in the first name (e.g.
             | Joe Bob or Mary Ann) but not the middle.
        
         | kiwijamo wrote:
         | Indeed. My passport correctly includes the hyphen in my
         | surname. Air New Zealand doesn't support spaces or hyphens so
         | my surname is written out as both words concatenated (i.e.
         | Onetwo). Qantas doesn't support hyphens but does support spaces
         | so my surname is written out as two words (i.e. One Two).
         | 
         | Thankfully apparently this is common enough that I've had
         | tickets including travel on both airlines (as Qantas cancelled
         | a flight and ticketed me on Air New Zealand instead) traveling
         | internationally work just fine. Even things like the automated
         | customs gates work fine. I suspect under the hood their systems
         | just strips out all non-alpha characters and compares that
         | (i.e. 'onetwo' == 'onetwo').
         | 
         | Online/moible forms can be an issue tho. Spark, the biggest
         | mobile phone carrier in New Zealand, doesn't support hyphens in
         | account names, just to name one silly example.
        
       | andrewmcwatters wrote:
       | I think we should all embrace a future where legal names are just
       | straight up binary streams.
       | 
       | I can finally realize my true potential and be recognized as Mr.
       | ":100 emoji:(Unicode zero-width joiner):fire emoji:(null
       | character)(base64 encoding of a QR code that links to a website
       | with a photo of my face),(vcard data, recursively referencing
       | this last name somehow)"
        
         | BonoboIO wrote:
         | Big Endian or Little Endian ;-)
        
       | hcarvalhoalves wrote:
       | E. Musk son's name will be fun. Hyphen, number and uncommon
       | unicode character.
        
       | world2vec wrote:
       | I have 4 names (two first names and two surnames), pretty common
       | thing in my country. But I've had issues several times when
       | flying because they assume it's two different people? How stupid
       | is that?
        
         | ghaff wrote:
         | I have one airline that just tacked my middle name (which I
         | basically never use) directly onto my first name for my
         | account. It's never been an issue so I haven't ever gone to the
         | trouble of correcting it but it means I always have the "wrong"
         | first name on my tickets relative to my official IDs.
        
       | tromp wrote:
       | Related: Null Island [1]
       | 
       | > Null Island is the location at zero degrees latitude and zero
       | degrees longitude (0degN 0degE), i.e., where the prime meridian
       | and the equator intersect. Since there is no landmass located at
       | these coordinates, it is not an actual island. The name is often
       | used in mapping software as a placeholder to help find and
       | correct database entries that have erroneously been assigned the
       | coordinates 0,0.
       | 
       | [1] https://en.wikipedia.org/wiki/Null_Island
        
       | gxonatano wrote:
       | My name, Gonatano, contains a g, which is an uncommon letter
       | outside of my language, Esperanto. But when I go to set my
       | username to "gonatano," I'm often told that usernames "may only
       | contain letters or underscores," as if g weren't a letter. (You
       | can see that I've approximated it in my HN username, but I don't
       | need to do that on web services that correctly understand that
       | letters exist outside of ASCII and Latin-1.)
        
         | noahjk wrote:
         | To be fair, Esperanto is, as far as I can tell, not very widely
         | used. The letter g mostly returns Esperanto results. Using that
         | letter in a place where others may need to communicate or type
         | the letter would be a severe burden on almost anyone else you
         | interact with, outside of Esperanto communities.
         | 
         | I'm sure there are plenty of people who share your frustration
         | with accented letters, n, umlauts, etc, though. I'd hope that
         | most systems can handle those letters, although I wouldn't hold
         | out hope that G/g would be high on the priority list.
        
           | gxonatano wrote:
           | > as far as I can tell, not very widely used
           | 
           | Well, it's the most widely spoken international language,
           | spoken in over a hundred countries, by an estimated 2-5M
           | people. There's a rich literature (probably 30-50K books),
           | vibrant music scene, and support in open source software
           | (Linux, Firefox, Google products) is usually pretty good.
           | 
           | But the issue is not how widely Esperanto, or any other
           | language, is spoken. If you assume that languages should only
           | be supported according to their number of speakers, you leave
           | no room for useful languages, bridge languages, auxiliary
           | languages, or growing languages. Even if Esperanto had only
           | 100 speakers, it'd be worthwhile to support, if it's easy to
           | learn, and easy for non-speakers to understand.
           | 
           | It's not a "severe burden" to consider non-ASCII letters as
           | letters. Unicode is pretty straightforward to work with, and
           | if you want to support more than just English, it's a
           | necessity. There's no need to have a "priority list" of
           | letters you consider more or less important than others. That
           | attitude comes across as very Anglocentric.
        
         | Asooka wrote:
         | You also can't put in Cyrillic or CJK characters. It's a user
         | name, not a human name, you should be fine just using the 26
         | ASCII letters for it. Basically anything that is a computer-
         | centric string should be only ASCII and nothing else, because
         | supporting all of human writing is a never-ending task.
        
         | Rebelgecko wrote:
         | Are you a native speaker of Esperanto?
        
       | dang wrote:
       | Related. Others?
       | 
       | Names:
       | 
       |  _Hello, I 'm Mr. Null. My Name Makes Me Invisible to Computers
       | (2015)_ - https://news.ycombinator.com/item?id=42922038 - Feb
       | 2025 (35 comments)
       | 
       |  _We have an employee whose surname is Null (2014)_ -
       | https://news.ycombinator.com/item?id=41939162 - Oct 2024 (6
       | comments)
       | 
       |  _We have an employee whose surname is Null (2010)_ -
       | https://news.ycombinator.com/item?id=34115623 - Dec 2022 (17
       | comments)
       | 
       |  _How to pass "Null" (a real surname) to a SOAP web service?_ -
       | https://news.ycombinator.com/item?id=21492461 - Nov 2019 (10
       | comments)
       | 
       |  _My last name makes me invisible to Computers (2015)_ -
       | https://news.ycombinator.com/item?id=15046223 - Aug 2017 (135
       | comments)
       | 
       |  _Hello, I'm Mr. Null. My Name Makes Me Invisible to Computers_ -
       | https://news.ycombinator.com/item?id=12426315 - Sept 2016 (208
       | comments)
       | 
       |  _If your name is 'Null,' you may have problems doing anything
       | online_ - https://news.ycombinator.com/item?id=11375282 - March
       | 2016 (1 comment)
       | 
       |  _Hello, I'm Mr. Null. My Name Makes Me Invisible to Computers_ -
       | https://news.ycombinator.com/item?id=10512811 - Nov 2015 (24
       | comments)
       | 
       |  _An actual guy named "Null" messes up people 's databases_ -
       | https://news.ycombinator.com/item?id=9390569 - April 2015 (4
       | comments)
       | 
       |  _We have an employee whose last name is Null (2010)_ -
       | https://news.ycombinator.com/item?id=6738743 - Nov 2013 (35
       | comments)
       | 
       |  _We have an employee whose last name is Null. He kills our
       | employee lookup (2012)_ -
       | https://news.ycombinator.com/item?id=6140631 - Aug 2013 (236
       | comments)
       | 
       |  _An employee, whose last name is Null, kills our employee lookup
       | app_ - https://news.ycombinator.com/item?id=3900224 - April 2012
       | (148 comments)
       | 
       | ---
       | 
       | License plates:
       | 
       |  _A 'Null' License Plate Landed One Hacker in Ticket Hell (2019)_
       | - https://news.ycombinator.com/item?id=31082288 - April 2022 (11
       | comments)
       | 
       |  _The 'NULL' License Plate (2019)_ -
       | https://news.ycombinator.com/item?id=29609924 - Dec 2021 (6
       | comments)
       | 
       |  _Guy got the license plate "NULL" and it was a total disaster_ -
       | https://news.ycombinator.com/item?id=23913507 - July 2020 (9
       | comments)
       | 
       |  _NULL license plate not such a bright idea_ -
       | https://news.ycombinator.com/item?id=20676904 - Aug 2019 (467
       | comments)
       | 
       | ---
       | 
       | Islands:
       | 
       |  _The Many Lives of Null Island_ -
       | https://news.ycombinator.com/item?id=41073777 - July 2024 (21
       | comments)
       | 
       |  _Null Island Tourist Shirt_ -
       | https://news.ycombinator.com/item?id=38713055 - Dec 2023 (44
       | comments)
       | 
       |  _Null Island is one of the most visited places on Earth, and it
       | doesn't exist_ - https://news.ycombinator.com/item?id=35651871 -
       | April 2023 (87 comments)
       | 
       |  _Null Island, the most real of fictional places [pdf]_ -
       | https://news.ycombinator.com/item?id=31080519 - April 2022 (37
       | comments)
       | 
       |  _Null Island_ - https://news.ycombinator.com/item?id=21854780 -
       | Dec 2019 (56 comments)
       | 
       |  _If You Can't Follow Directions, You'll End Up on Null Island_ -
       | https://news.ycombinator.com/item?id=12090980 - July 2016 (54
       | comments)
       | 
       |  _The Republic of NULL Island_ -
       | https://news.ycombinator.com/item?id=11734180 - May 2016 (15
       | comments)
       | 
       |  _The Geographical Oddity of Null Island_ -
       | https://news.ycombinator.com/item?id=11600396 - April 2016 (14
       | comments)
       | 
       |  _A Brief History of Null Island_ -
       | https://news.ycombinator.com/item?id=10949292 - Jan 2016 (7
       | comments)
        
       | aithrowawaycomm wrote:
       | 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.
        
       ___________________________________________________________________
       (page generated 2025-02-20 23:00 UTC)