- https://www.youtube.com/watch?v=K93zcgFsynk&ab_channel=Vsauc...
- https://www.youtube.com/watch?v=XrHTI04i9yk&ab_channel=%E2%8...
This is done by using invisible characters such as ZWNJ to get around the title filter.
It’s not wrong that "\u{1F926}\u{1F3FC}\u200D\u2642\uFE0F".length == 7 (2019) - https://news.ycombinator.com/item?id=44981525 - Aug 2025 (274 comments)
(btw the title edit on that one was for fun, and came about this way: https://news.ycombinator.com/item?id=44981808)
Also related:
It’s not wrong that "🤦🏼♂️".length == 7 (2019) - https://news.ycombinator.com/item?id=36159443 - June 2023 (303 comments)
String length functions for single emoji characters evaluate to greater than 1 - https://news.ycombinator.com/item?id=26591373 - March 2021 (127 comments)
String Lengths in Unicode - https://news.ycombinator.com/item?id=20914184 - Sept 2019 (140 comments)
(as you can see, we've taken quite a few different whacks at that piñata of a title over the years)
It’s Not Wrong that “[that formidable facepalm]”.length == 36
(sic syntactically wrong quotes) is in reality (for JS-capable and enabled clients) presented as <h1 class="wp-block-post-title">It’s Not Wrong tha
t (for HN) “<img draggable="false" role="img"
class="emoji" alt="[that formidable facepalm]" sr
c="https://s.w.org/images/core/emoji/16.0.1/svg/1f
926-1f3fc-200d-2642-fe0f.svg">”.length == 36</h1>
(arbitrary line breaks added for convenience). Here the "true" `.length` of the (scare)quoted content is: 144.---
This comment is brought to you thanks: "View Selection Source" context menu entry in Firefox.
It’s Not Wrong that (for HN) “[facepalm emoji]”.length == 36
Or some alternative if the above is too long, like:
“[facepalm emoji]”.length == 36
Both seem more accurate than the current:
It’s Not Wrong that (for HN) “ ”.length == 36
Checks out.
But I was definitely going to hunt for a description that made it 36 characters long.
For. Every. Single. Emoji.
I don't remember a case when I really wanted a sexualized version, I always want to express just an emotion. Just remove all the prefixed versions, and leave the pure one.
Are there any even mildly-popular languages that use, or allow, curly quotes for strings? I’d kinda like there to be at least one.
my $string1 = q{for example};
my $string2 = q<angle brackets>;
my $string3 = q/or any other symbol/; %{hello, world!}
is one way to write a string literal.Also I’m not even sure it was a good idea to put them in text. Emojis are a special case that breaks a lot. Now you have to worry about multiple colors, etc.
Generally I agree with you, but in rare cases like the article that this one is meta-commentary to it might perhaps have been justifiable to allow it? I see the "slippery slope" risk though.
It is reasonable and worthwhile to encode some nonverbal information in it, and emojis have won the day.
The real problem is that the alphabets of certain writing systems are unbounded. Emojis are completely unbounded. That's the only reason to have concern with it in unicode. Unicode is a limited set by definition and emojis are an unbounded set.
Neither are digits, or control characters, strictly speaking. We really shouldn't have been able to have CR and LF explicitly embedded in the text files.
What about "fancy fonts" (foreign characters that look like latin letters)? Japanese / Chinese ideographs? Common pictograms like "stop sign?" Mathematical symbols?
People made emoticons out of ~100 printable ASCII characters. With thousands of "real" Unicode symbols available, they would have gone wild anyway.
As a person with accessibility needs, I'm honestly glad emojis exist. They at least carry semantic meanings (though some people do abuse them in ways inconsistent with those meanings), unlike random combinations of symbols that the internet community has agreed on.
Heh. In my code, I always (idiosyncratically, I admit) spell '\x20' as '\x20' (or even just as 0x20, if it's C), unless it's a part of a multicharacter string e.g. "Hello world!": it just feels wrong to have an empty space inside single quotes. Is it really just U+0020 in there? Is it supposed to be U+0020 there? Silly worries, I know, but I just don't like the way ' ' looks.