Mimic, the Evil Script That Will Drive Programmers To Insanity (github.com)
JustAnotherOldGuy writes: Mimic implements a devilishly sick idea floated on Twitter by Peter Ritchie: "Replace a semicolon (;) with a Greek question mark (;) in your friend's C# code and watch them pull their hair out over the syntax error." There are quite a few characters in the Unicode character set that look, to some extent or another, like others – homoglyphs. Mimic substitutes common ASCII characters for obscure homoglyphs. Caution: using this script may get you fired and/or beaten to a pulp.
git revert [commit]
"Your commit broke the build. Fix it."
Bonus points if your continuous integration build server catches it automatically.
Then have a talk with the author of this non-sense commit about wasting corporate resources.
Wouldn't they see your change to the file in the history/blame for the line?
Or do they suggest you hack your co-workers machine to run this script on their system?
Things you think are in the Constitution, but are not.
One thing that always drove me crazy was the Unix "make" command because of the syntax of the Makefiles. The problem was, unlike just about every other language, Makefiles distinguish between TAB and SPACE characters, and they can look indistinguishable in printouts. I always avoided make for that reason and just wrote shell scripts to compile my code. I've also stayed away from Python because of its use of indentation to indicate the scope of control structures. Too easy to screw up by mixing tabs and spaces. In many fonts used in early terminals and printers, zeros were drawn with a slash through them so they wouldn't be confused with uppercase O's. Now with Unicode replacing ASCII as the encoding for source code in most languages, let the nightmares begin!
If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
My students regularly copy-paste from an otherwise excellent source in which plain vertical double quotes have been auto-replaced with pretty slanted quotes. GCC complains about the illegal character on line XXX, I usually have to explain, and that's it. No hair-pulling involved, only git pulling.
Have gnu, will travel.
It's probably funny to people who don't have to earn a living. I expect I'd have considered it hilarious back in high school... but now, if a colleague did this, I'd probably demand he be fired.
#DeleteChrome
The symbols are visually identical but have different meanings. For a human reading the text, with the human understanding of context and the weird, fuzzy logic that our brains do, that's not a problem. For a computer processing the text, however, it is important to be able to distinguish a semicolon (sentence not finished, or end of coding line, or terminator in a list containing commata) from a Greek question mark (interrogative sentence finished), especially in a text mixing Greek and Latin or English (especially ancient Greek, which rarely occurs alone in a book without either some sort of translation or at least a Latin introduction, a la the Oxford and Teubner series of texts). You could, of course, tag the shit out of the text with XML and mark the semicolons as la="grc" or la="el," but processing is easier when the character itself indicates its own semantics or differentiates itself from lookalikes.
See: Han Unification, and all the problems it's caused. Because of this, the Japanese need to jump through hoops if they wish to write a Chinese name in an otherwise Japanese section of text. Since few other western languages have this problem, many Japanese were rather upset at this decision of the Unicode consortium.
TL;DR: Semantics matter.
Irony: Agile development has too much intertia to be abandoned now.
Han Unification:
Han shot at the same time.
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.