Rendered at 16:28:26 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
joha4270 1 days ago [-]
Oh this is delightful!
x86 assembly isn't something I'm familiar with (and I should really get back to $dayjob), but I will mention the existence of emoji-test.txt [1] in case somebody wants to try and mine more executable sequences. It might be worth paying attention to the minimally-qualified, unqualified and component lines, which can be added and removed semi freely. No idea if they actually correspond to useful byte sequences.
Anyone managed to reproduce it?
I tried copying using Firefox on Wayland on Ubuntu GNULinux, then pasting on a Vim window. Nu luck, md5 didn't match.
joha4270 22 hours ago [-]
I cannot actually get the program working (which could easily be user error), but I could replicate the md5 by removing a newline vim inserted for me. If your file is 142 bytes, that's possibly what you're seeing
GloriousCow 21 hours ago [-]
For the 'hello' program, you need to use DosBox-X with the 'cpu cputype=8086' parameter. You can use 86Box or MartyPC as well but those take more effort to set up and get the executable onto them.
GloriousCow 21 hours ago [-]
Try copying from the links provided after each emoji block. That goes to my disassembler which should independently verify the md5.
I think blogpspot unfortunately mucks with the emoji.
account42 1 days ago [-]
Waiting for someone to an emoji-x86 backend to LLVM/GCC.
KyleTheDev 1 days ago [-]
This is awesome, thanks! That was a very fun read.
fuzzfactor 1 days ago [-]
For this to be reproducible the browser version is going to need to be specified.
joha4270 1 days ago [-]
I don't see why that would matter. Sure, it was noticed on a browser but ultimately this article is about overlap between x86 assembly and a subset of the unicode standard. The browser isn't really involved.
GloriousCow 23 hours ago [-]
having the emojis survive copy & paste from a browser is surprisingly frustrating. I would have expected there to be well-defined semantics for this, but a lot of things insert variation selectors (U+FE0F) after certain emoji which breaks the code.
It's less to do with browser versions and more to do with websites. Mastodon and unfortunately blogspot seem to mess up the emoji. Fortunately you can click on the disassembly links that go to my disassembler and copy them from there.
fuzzfactor 1 days ago [-]
It does look like a good "works on my machine" proof-of-concept, but are you going to copy those emoji from something other than a browser?
Probably wouldn't hurt to specify the text editor too and settings needed to match the intended file size as well.
joha4270 1 days ago [-]
Emoji are text. Which text editor/browser/settings should I be using to ensure I copy your reply accurately?
With the exception of (sigh) newlines, I surely hope your text editor accurately records the characters you paste into it. This job isn't different just because the characters are strange, multi colored ligatures.
Edit: As long as you work in UTF-8 that is, but you have to go out of your way to use any other encoding as an interchange format these days, even if alternative internal encodings aren't uncommon-
jeroenhd 1 days ago [-]
Some relatively recent emoji might not work in outdated browsers/operating systems. Generally, emoji font are regularly updated, but if you're using the stock browser (or Safari) on an outdated phone, you might not be able to render a lot of these emoji.
Missing emoji should still be copyable though, it just won't look as funny.
MBCook 1 days ago [-]
Why the Safari bash?
Every single one works. Apple keeps their emoji list pretty up to date.
jeroenhd 6 hours ago [-]
On iOS (and the same OS in other form factors), Safari is tied to your operating system. Unlike Android or Windows or even macOS, your browser cannot be updated when your device no longer gets feature updates.
In the EU one could theoretically deploy an alternative browser engine, but that relies on the version of iOS being recent enough to get the changes that Apple had to make to permit that, and in practice there are no alternative browser engines yet.
Ghoelian 1 days ago [-]
Apple doesn't keep their emoji list up to date. Apple invents new emojis, implements them, and once enough people are using it, unicode will pretty much have to incorporate it. They're pretty much to emojis what google is to web standards.
fuzzfactor 19 hours ago [-]
What did you use to get a 141 byte EMOJI.COM file from the first string of emojis?
x86 assembly isn't something I'm familiar with (and I should really get back to $dayjob), but I will mention the existence of emoji-test.txt [1] in case somebody wants to try and mine more executable sequences. It might be worth paying attention to the minimally-qualified, unqualified and component lines, which can be added and removed semi freely. No idea if they actually correspond to useful byte sequences.
[1]: https://www.unicode.org/Public/emoji/latest/emoji-test.txt
I think blogpspot unfortunately mucks with the emoji.
It's less to do with browser versions and more to do with websites. Mastodon and unfortunately blogspot seem to mess up the emoji. Fortunately you can click on the disassembly links that go to my disassembler and copy them from there.
Probably wouldn't hurt to specify the text editor too and settings needed to match the intended file size as well.
With the exception of (sigh) newlines, I surely hope your text editor accurately records the characters you paste into it. This job isn't different just because the characters are strange, multi colored ligatures.
Edit: As long as you work in UTF-8 that is, but you have to go out of your way to use any other encoding as an interchange format these days, even if alternative internal encodings aren't uncommon-
Missing emoji should still be copyable though, it just won't look as funny.
Every single one works. Apple keeps their emoji list pretty up to date.
In the EU one could theoretically deploy an alternative browser engine, but that relies on the version of iOS being recent enough to get the changes that Apple had to make to permit that, and in practice there are no alternative browser engines yet.