this post was submitted on 11 Oct 2024
857 points (98.3% liked)
Programmer Humor
32715 readers
960 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I can't imagine how something like homograph attacks can happen accidentally. If someone does this in code, they probably intended to troll other contributors.
Multilingual users have multiple keyboard layouts, usually switching with Alt+Shift or similar key combo. If you're multitasking you might not realize you're on the wrong keyboard layout. So say you're chatting with someone in Russian, then you alt+tab to your source code and you spot a typo - you wrote
my_var_xopy
instead ofmy_var_copy
. You delete the x and type in c. You forget this happened and you never realized the keyboard layout was wrong.That c that you typed is now actually с, Cyrillic Es.
What do you say, is that realistic enough?
I use multilingual keyboard layouts, so I know that at least on Windows the selected layout is specific to each window. If I chat with someone in one language, then switch to my IDE, it will not keep the layout I used in the chat window.
But I also have accidently hit the combination to change layouts while doing something, so it can happen. I'm just surprised that Cyrillic с is on the same key as C, instead of S.
I believe there's a setting for whether it's global or per-window. Personally I prefer global, because I can't keep track of more than one state and I absolutely hate the experience of typing something and getting a different language than you expect.