hon.dev

The Hon Bug

May 22, 2020

My name is Hon Yee Kwok. And for the longest time, I was known as Hon. Eventually I reached the age where organizations could send me advertisements via mail. Now, I’m no longer just “Hon.”

This blog post got started when my partner asked “why are we getting so much mail for your brother?”

Ever since I became an adult, I would occasionally recieve mail for [Y KWOK]. My brother’s name starts with a Y so it made sense why my partner thought I was getting my brother’s mail. Plus, my brother had asked to use my mailing address before. At one point I had assumed those letters were addressed to him too.

But after some mishaps and ignored communications, I figured out that those communications addressing Y KWOK were directed at me. This kinda made sense since my middle name starts with a Y.

Maybe I’ve been underestimating the power of a middle name all this time.

Eventually I figured out what was happening and middle names still aren’t that important. While my name isn’t quite as exciting as Little Bobby Tables', there’s still something interesting going on.

Exploits of a mom XKCD"

Turns out “Hon.” is a honorific used throughout the world for “The Honorable”. Titles are not common in the United States but “The Honorable” is one that’s still used and recognized. “The Honorable” is bestowed upon extremely powerful people — presidents, judges, governors…and occasionally people with the first name, Hon.

Beautiful.

So as a person of immense power and influence, let me tell you about the Hon bug.

The most common incorrect variant of my name I see is “Y Kwok.” I see this fairly often with financial institutions and payment systems. Sometimes when I get takeout, the person at the counter will yell “Order for Y!” and I pray that it doesn’t look like I’m trying to steal someone’s food.

Receipt to

Sometimes I’m known as “Yee Kwok.” This generally indicates that an organization is aware of my middle name. Most places only ask for a middle initial in forms so this is a little less common. This is pretty unexciting, but did you know that yee is also a meme?

Letter addressed to

And very rarely am I known as “Honorable Kwok.” This is my favorite.

Letter addressed to

Let’s think about why this happens!

“The Honorable” is often abbreviated as “Hon.”, note the period in particular. I don’t have a period in my name but somehow it’s being recognized as an honorific without one. My best guess is that this has to do with regular expressions (regex).

Regular expressions are used for pattern matching by using special text strings to describe a search pattern. Periods are matching characters that provide the functionality of a single wildcard character. In using a normal period in a regular expression, you’re matching a character to a period AND all other characters. If you are not familiar with writing regular expressions, it’s pretty easy to accidentally use a wildcard period instead of an escaped period — I’ve done it plenty of times myself!

Screenshot from regex101 comparing escaped periods and wildcard periods

Keep in mind that this bug shows up with multiple organizations. I wonder if there’s an upstream library or some obscure regulatory thing that causes the name change to happen. Maybe an “extra mile” feature? I don’t know. At this point I’m assuming it’s a similar reason between organizations.

Two thoughts come to mind with systems that might adjust or change information:

  1. Sometimes systems will disallow “unacceptable” names for reasons like profanity and obscenity. This is known as the Scunthorpe problem and it’s pretty tricky to solve. However, that kind of blocking activity generally happens before information is entered in a database.

  2. Systems sometimes alter input to prevent injection attacks. However, systems shouldn’t be storing mutated data. What if a weird string means something to someone? What if you want to implement a search & retrieval system based on the information you have? Sanitizing user input is great and all but it’s not a task for the data layer.

So with that in mind, it’s a little unclear where or how these changes happen. Is it the data layer? Is it the view layer? It’s pretty hard to tell from a black box environment.

Mentioned earlier, a lot of these changes happen with payment systems. Payment systems are interesting since they’re very much focused on identity — you wouldn’t want to lend money to a misidentified person. However, I did check out my profile for the museum (see image with penguin above) and thought this was interesting:

Form input with first name as

By replacing my first name with “Member”, this would suggest that my first name wasn’t saved somewhere and it defaulted to “Member.” This page was generated on load so it’s a little hard to tell what happened here. But let’s talk about what we do know:

  • The organization knows that my identity is related to “Hon” and interprets that as a title.
  • The organization replaced my first name with “Member.”
  • My last name is correct and what I expect.

Lots of interesting hypotheses can be gained here, ie. why wasn’t the letter addressed to “Member Kwok?” but at the end of the day, I still don’t know. All that I’m sure of is that my name sometimes causes digital systems to do extra computing. Fun.

My name is fairly common to parts of the world but the exact spelling stems from a combination of dialect-specific translation and parents’ decision of spelling and phrasing. Regardless, there are probably multiple Hon-s out there that have to deal with the same “Hon bug.”

In short, interpreting language is hard. Interpreting multiple languages even harder. Rapid globalization has made these digital data filters and transformations somewhat problematic especially when dealing with words and phrases translated from other languages.

While I mostly see this bug with “older” and “more established” organizations, I do see it on occasion from “newer” organizations as well. This bug hasn’t really affected my life too much but I have mild concerns with how it might affect my digital identity.

Digital identity is a really complicated and I’d argue that there’s no clear leader in the field yet. If a solution does appear, I hope that this bug doesn’t exist. Imagine dealing with a situation where you’d have to convince someone that “Yee Kwok” and “Hon Kwok” are the same person…oof.

Nonetheless, the world is not at that point yet and it’s honestly pretty sweet to be called “Honorable Kwok.”


5/24/2020 note: After sharing this post on Twitter, someone linked me to this lovely post on “Falsehoods Programmers Believe About Names.” Would recommend taking a look!


Hon Kwok
Getting my thoughts in order! 😎
TwitterPersonal Site