56 comments

[ 2.5 ms ] story [ 110 ms ] thread
> People’s names are all mapped in Unicode code points

Curious how the author recommends we avoid this one

Actually, there is a case of this in China where (previously) both Unicode and the Chinese standard (GBK) was unable to encode Ma Cheng's (马𩧢) name. If you have Android, you might even see this in action (since that Noto still does not encode this one).

Currently, the solution going forward is to restrict what characters are acceptable as names.

Safari on iOS 18.1 doesn’t render the second character properly either. (Unless it’s a 口 :)
There are lots of Chinese people whose last names use rare characters or variants that are not mapped in Unicode. Taiwan, which retains traditional characters and hasn't forced people to standardize as much as mainland China and Japan, is particularly notorious for this. There's also the whole Han unification debacle, where similar but not always identical characters used in Chinese/Japanese/Korean have been mushed together.

Support for some Indic scripts also remains quite patchy: https://modelviewculture.com/pieces/i-can-text-you-a-pile-of...

I'm guessing the solution is to forget Unicode sequences as an identifier, and assign a hashed integer account number instead. Treat Unicode as non-textual data format for human use only, like how account pictures are. I think many web systems for mainly CJK users do so.
This list should contain the case of "the name is not a keyword in your programming language" which is what this thread is about.
It sort of does but there could be one more specific to this case:

> 31. I can safely assume that this dictionary of bad words contains no people’s names in it.

And I’m immediately reminded of that family I knew when I was a kid whose last name was Cummings. We also knew someone who went by their first and middle initials of BJ.

This seems to come up pretty regularly; here's some random articles about it:

https://www.wired.com/2015/11/null/

https://www.bbc.com/future/article/20160325-the-names-that-b...

I blame the popularity of languages that encourage "stringly-typed" code; which means this problem is unfortunately unlikely to disappear anytime soon.

JavaScript or python? Js is notorious for having problems with equality and casting.

Using a name of "null" needs to be in all unit test suites apparently.

The author also lives in a town called Scunthorpe. Can't catch a break.
Particularly after moving from Penistone.
I hear the cost of living there is more reasonable than in Cockfosters.
For the curious, somewhat disappointingly, it is pronounced PEN-nus-stun (all closed short vowels)
Programmers don't care about things like "the real person using this program". They just want to complete some crappy function, mark a task as "done", and go on to the next one. If it annoys or hurts regular people, no big deal.

This is like government policies that hurt a minority of people. The bureaucrats don't care if it hurts a few people. And the minority is small enough that nobody else cares. They can't threaten the status quo, so they will just keep on suffering, and now that's just "how things are".

I think this type of "they don't care" attitude on any type of engineering is too simplistic.

Are there engineers who don't care? Probably. Engineers solve the problem given to them within the specifications also given to them. Those ultimately can't come from another engineer but the person implementing the thing implements it to specification. If that specification doesn't include edge cases then it's literally not their job to implement them.

This often comes up, but I never understood why.

Is it a case of e.g.

    If "null" == null
With implicit conversion?

What language does this? I think perl might allow it by accident if you don't use strict/warnings pragmas, but it seems weird. Is it a PHPism perhaps?

> What language does this?

SQL injection, for one. For once, not PHP (thankfully).

But an SQL injection is an exploit. In SQL ‘Null‘ != Null
Right, but a ton of well-meaning but cure-is-worse-than-disease "Web Application Firewall" tools still block it
PHP understands this properly:

    var_dump( "null" == null );
    // bool(false)
I have seen before that null is encoded as "null" when an encoding doesn't support null itself, e.g. multipart/form-data. Of course, then the server will treat any "null" as null
Somebody should really put together a collection of best practices for—a sort of collection of advice for people with this sort of name.

They could call it Null pointers.

Ba dum tish. For real though, the complexities of dealing with human input are a good reason to never accept human input you aren't absolutely required to collect. Once you do, put it in a place that you will never have to touch it or process it again. There's no validation you can do on human inputs, so don't try beyond "are you sure?"
(comment deleted)
There’re few people on LinkedIn named “Swapnil Dev”! Amazingly all work in IT! That’s swap, nil and dev in one’s name. Such a cool name!
(comment deleted)
Just say your name is NuII with two capital "i"s.
Even the error message is a sign of bad error handling: Last name can't contain "Null".

Contain? Is this is really what the if-clause did test for?

This can happen in random circumstances. A long time ago Amazon did not allow me to ship to my home address. By trial and error I found out that if I changed a specific o in my address to something else, it suddenly worked. There are no special reserved or offensive words in the address, I've never found out why this was. It had been fixed since.

Also I own a domain name with a catch all email address. If I sign up for websites, I often use the company name in the email adress to track leaks or spam. They sometimes don't allow this.

company@example.com is too obvious, so I've gotten into using company_jei68@example.com, where jei68 is just me mashing on the keyboard and different every time. Very handy if you have to prove that a particular database got popped.
Have you ever been successful in proving though? I found out no one ever listens to me being right about their leak.
no but you can go on the Internet to let their other customers know when they don't respond.
I only recently switched off the catch-all email configuration. Until then, I did what you did. But over the years, I got an increasingly annoying amount of misdirected email (possibly legitimate business, marketing, and spam) sent to all sorts of usernames, and only landing in my inbox because of the catch-all.

I now just generate masked email addresses with Fastmail. Much less noise now.

[flagged]
> “I don’t have a last name,” the Moonstruck actress said, confirming that it just says “Cher” on her license.

There's a lot of people on Earth with only one name, it's a common occurrence in Indonesia. So to answer your question: yes I think she has only Cher on her passport.

(comment deleted)
[flagged]
If anything, allowing names to be literally unnameable is the "backwards attitude".
No, it's not.

Also "Null" is a perfectly pronounceable and fine name. A brief search reveals several people with that name on Facebook, so it's clearly not abnormal, nor impossible to design a name field to handle it.

Null is not a problem and I agree it should be accepted. The problem is with people who want names which resemble online handles more than legal identities. See: Elon Musk's son.
Of course they should, having worked in London previously if you went about there insisting people call you whatever, you'd be mercilessly derided and heckled by colleagues. Here it's seen as legitimate to go about forcing your notions onto others. Elsewhere, the community forces it's notions onto you.
This isn't about "call you whatever", this is about family names. They were likely born as a Null between a Null and a Null. Null is a valid Irish surname long before NULL was a type. "I go by throatwobbler mangrove" part compounds on it only if they decide to do so.
Where is "here"?

You are still exhibiting that harmful attitude. I know plenty of British people who are not so daft - most of them in fact, so I don't believe your supposition that it is a common attitude. And even if it was, that's never a justification.

How can it be harmful?

"I want everyone to call me ABC123!"

"No, will you ever knock it off Bob"

The majority of people outside the coastal tech bubble would simply tell anyone making this kind of demand to catch themselves on. There's not enough of the community reining in this kind of hubristic nonsense.

I worked with a guy called 'Com' which is a reserved word in Active Directory. It causes chaos so apparently his AD name is always modified to be less offensive to the Microsoft gods.
Is Prn and Nul also reserved? That goes back to DOS device names.
(comment deleted)