1 00:00:00,000 --> 00:00:17,310 Intro 2 00:00:17,310 --> 00:00:24,330 Herald: So welcome to this evening's next talk with the wonderfully broken title, I 3 00:00:24,330 --> 00:00:29,580 love it, "Emoji domains and how wonderfully broken they are" by a very, 4 00:00:29,580 --> 00:00:38,550 very wonderful person, Jennifer, who is a web developer, and you wouldn't believe 5 00:00:38,550 --> 00:00:46,730 it, her nick is "unicorn", here is a unicorn! ... Hi! Jennifer this is, tell us 6 00:00:46,730 --> 00:00:54,070 everything about emoji domains, and why they are so rotten broken. You go! 7 00:00:54,070 --> 00:01:02,019 dysphoricUnicorn: Yeah, thank you a lot. Exactly - are we speaking about these 8 00:01:02,019 --> 00:01:09,360 wonderfully broken things and the talk will be kind of like... I start with a bit 9 00:01:09,360 --> 00:01:13,400 of an intro dump about the history of emoji domains and what they actually are 10 00:01:13,400 --> 00:01:19,800 and then I will talk about my personal experience breaking things with them. So 11 00:01:19,800 --> 00:01:26,369 yeah, let's start right of with the history. So, DNS were standardized in 12 00:01:26,369 --> 00:01:37,069 1987, with a very limited character set. So, you can see, like, only roman naturals 13 00:01:37,069 --> 00:01:46,700 and some numbers, and, like, four non- letters. So these are definitely not 14 00:01:46,700 --> 00:01:51,880 sufficient for many languages and it's a very euro-centric view, or not even just 15 00:01:51,880 --> 00:01:58,899 euro-centric, but it's actually very centered on the english language and it 16 00:01:58,899 --> 00:02:07,249 was clear that this won't suffice so in 1996, internationalized domain names were 17 00:02:07,249 --> 00:02:14,560 posed, which allow encoding characters that are not supported or that are not 18 00:02:14,560 --> 00:02:20,960 officially supported into this very small character set so that browsers could 19 00:02:20,960 --> 00:02:31,370 simply convert them on the fly. This... sources kind of disagree when this exactly 20 00:02:31,370 --> 00:02:36,140 went live or when you could start it, when you were able to use it for the first 21 00:02:36,140 --> 00:02:42,940 time. The IDNA2003 standard allowed the support, but the first emoji domains were 22 00:02:42,940 --> 00:02:50,290 actually registered in 2001. Interesting about these is that, in 2001, emojis 23 00:02:50,290 --> 00:02:57,370 weren't part of Unicode yet. So you can see these examples, like the "hot springs" 24 00:02:57,370 --> 00:03:03,300 those do show as emoji. which is because they are both emoji and Unicode pictographs. 25 00:03:03,300 --> 00:03:10,150 So, not actually emoji domains at the time, but right now, they were kind of 26 00:03:10,150 --> 00:03:16,760 converted into emojis. Back then, they were just pictographs. I couldn't really 27 00:03:16,760 --> 00:03:20,490 find out if those domains actually resolved if you entered the pictographs 28 00:03:20,490 --> 00:03:25,100 back then or if it was just someone who just was hoping they would rise in price 29 00:03:25,100 --> 00:03:33,480 once IDNA2003 or whatever standard would implement it, went live. So there was also 30 00:03:33,480 --> 00:03:39,410 an IDNA2003 normalization, but that is not too interesting for us because we just 31 00:03:39,410 --> 00:03:45,840 want to look at the emoji side of things. IDNA2008 actually banned emoji for most 32 00:03:45,840 --> 00:03:50,100 major TLDs, because of concerns that it would be used for phishing domains that 33 00:03:50,100 --> 00:03:57,450 looked very similiar to actual, other domains. Like every character exists as an 34 00:03:57,450 --> 00:04:05,870 emoji, to be able to make to make country flags, so that could be used for phishing 35 00:04:05,870 --> 00:04:14,440 and they decided to ban it for most major TLDs that comply with IDNA2003. Important 36 00:04:14,440 --> 00:04:24,090 to my little story, in 2020, the emoji 13 standard added transgender pride flag 37 00:04:24,090 --> 00:04:33,160 emoji. You'll see why that's important later. So what actually is this punycode 38 00:04:33,160 --> 00:04:39,590 encoding? It's non-human readable representation of Unicode characters. So you can see this 39 00:04:39,590 --> 00:04:45,970 symbol here would be translated x-n-dash- dash C-8-H, which obviously doesn't make 40 00:04:45,970 --> 00:04:51,340 much sense to type in but your browser would take care of this. So, DNS didn't have to 41 00:04:51,340 --> 00:04:57,330 be changed, it's only inside your browser that these conversions happen. Compatible 42 00:04:57,330 --> 00:05:01,540 browsers, depending on which browser you use, will either intransparently or 43 00:05:01,540 --> 00:05:08,000 semitransparently translate, Firefox for example, as a mitigation to these phishing 44 00:05:08,000 --> 00:05:16,430 attempts, does allow you to enter emoji or other Unicode characters, but as soon as 45 00:05:16,430 --> 00:05:22,600 you hit enter it will, the URL bar will show this xn-dash-dash domain. Safari, as 46 00:05:22,600 --> 00:05:29,710 far as I know, does not do it transparently, so you will not know what 47 00:05:29,710 --> 00:05:35,620 exactly the punycode representation is of what you were just enterin'. And different 48 00:05:35,620 --> 00:05:44,500 TLDs only support a specific subset as I said, IDNA2008 actually banned it. Fun 49 00:05:44,500 --> 00:05:50,440 fact, I forgot on the last slide: IDNA2008 went live in 2010 which is kind of 50 00:05:50,440 --> 00:05:57,900 confusing, but whatever. Different TLDs only support specific charsets, most don't 51 00:05:57,900 --> 00:06:02,070 support emoji, but there are TLDs that have "supporting emoji" as their main 52 00:06:02,070 --> 00:06:10,050 selling point. TLDs that most people wouldn't want to use unless they just 53 00:06:10,050 --> 00:06:20,830 simply are interested in emoji. Why did I end up breaking things with it? In early 54 00:06:20,830 --> 00:06:26,850 2011... not 2011, 2021... this year - I was unemployed and looking for interesting 55 00:06:26,850 --> 00:06:33,130 ways to build my portfolio. I knew that emoji were somewhat supported but I didn't 56 00:06:33,130 --> 00:06:38,160 know what, how exactly it worked, I just knew that there were some people that had 57 00:06:38,160 --> 00:06:42,780 emoji domains and I was kind of happy that there was a transgender pride emoji 58 00:06:42,780 --> 00:06:47,580 added, so I decided, well, maybe it's a good idea to add some domain that contains 59 00:06:47,580 --> 00:06:55,250 this transgender pride emoji to also kind of become less interesting for bigoted 60 00:06:55,250 --> 00:07:05,100 potential employers. So, yeah, let's register domain with that emoji. Well... 61 00:07:05,100 --> 00:07:09,160 that seems to be a bit more difficult because these domains, even though you 62 00:07:09,160 --> 00:07:16,030 never really counter them, seemed to be sold out. Nothing that I looked up worked, 63 00:07:16,030 --> 00:07:23,579 and actually the web interface broke a bit, but more to that later. Well... none 64 00:07:23,579 --> 00:07:28,270 of these domains actually resolve to anything: .dev does not support emoji at 65 00:07:28,270 --> 00:07:33,300 all and namecheap doesn't support emoji even with top-level domains that do 66 00:07:33,300 --> 00:07:40,860 support them. So, I had to go to another registrar, which was a bit annoying 67 00:07:40,860 --> 00:07:45,770 because I thought, well, I like everything in one place, not specifically I love 68 00:07:45,770 --> 00:07:52,240 namecheap or anything. But, whatever. Few months later, I am now the proud owner of 69 00:07:52,240 --> 00:07:59,889 "transgender pride flag purple heart . ws". At least, that what I think. So, I 70 00:07:59,889 --> 00:08:04,890 just set up to build a small demo page for it, and deploy it on my server and test it 71 00:08:04,890 --> 00:08:14,260 and - wow. My server usually isn't that slow. Timeouts... the route looks okay 72 00:08:14,260 --> 00:08:22,970 inside my reverse proxy, trying again, and after long time, I end up with this 73 00:08:22,970 --> 00:08:30,760 wonderful error message. So we're sorry, that domain is invalid. It also does not 74 00:08:30,760 --> 00:08:35,630 show the transgender pride flag anymore, but that could be down to the simply their 75 00:08:35,630 --> 00:08:40,800 webfont not supporting it yet because it was just added to emoji 13, at least 76 00:08:40,800 --> 00:08:45,350 that's what I thought at that point. Obviously, I was a bit scared because, 77 00:08:45,350 --> 00:08:52,249 well I just spent 10 euros at something and... I didn't really know when I would 78 00:08:52,249 --> 00:08:57,709 have a stable income again so I did this to find a new job and german unemployment 79 00:08:57,709 --> 00:09:05,930 benefits are really difficult to get, so I was a bit scared, but godaddy didn't sell 80 00:09:05,930 --> 00:09:14,439 me some invalid domain or they also definitely did not scam me, because if you 81 00:09:14,439 --> 00:09:19,589 enter these exact characters that apparently are invalid, it does resolve to 82 00:09:19,589 --> 00:09:24,800 my server. So when I looked at the godaddy web interface, it also showed 83 00:09:24,800 --> 00:09:30,449 these three characters, the purple heart, the white flag and the transgender symbol. 84 00:09:30,449 --> 00:09:34,540 It's simply not the domain that I had entered into the emoji domain search 85 00:09:34,540 --> 00:09:41,449 engine. Wasn't just their webfont that doesn't support it. And that is caused by 86 00:09:41,449 --> 00:09:47,579 the wonderful zero-width joiners. To avoid having tons of similar emoji, each with 87 00:09:47,579 --> 00:09:53,269 their own code, many emoji are created by combining others. So you have the skintone 88 00:09:53,269 --> 00:09:57,569 modifiers for example or the country flags, that are a combination of different 89 00:09:57,569 --> 00:10:02,550 emoji with a zero-width joiner. The transgender pride flag is a combination of 90 00:10:02,550 --> 00:10:08,780 a white flag and a transgender symbol with a zero-width joiner inbetween. And the 91 00:10:08,780 --> 00:10:14,480 thing is, punycode does not really support them so it was simply just dropped during 92 00:10:14,480 --> 00:10:26,179 conversion while I bought my domain. But that's not everything. Because I still had 93 00:10:26,179 --> 00:10:34,429 this project, I still wanted emoji domains and my interest was peaked so I wanted to 94 00:10:34,429 --> 00:10:40,880 try out what else I could break. To avoid spending even more money on this 95 00:10:40,880 --> 00:10:46,860 project, I just moved my testing to sub domains which was a good idea because I 96 00:10:46,860 --> 00:10:50,979 have way more control over sub domains than I have over regular ones. I can 97 00:10:50,979 --> 00:10:57,460 register them with any registrar, so I could use my go-to registrar. I can 98 00:10:57,460 --> 00:11:03,490 register whatever strings I want, so even invalid punycode. I can register them 99 00:11:03,490 --> 00:11:08,160 under a TLD that does not allow it because it's not a second-level domain but a 100 00:11:08,160 --> 00:11:15,899 third-level domain. And, yeah, let's see what browsers do about that. So I created 101 00:11:15,899 --> 00:11:22,350 the sub domain "transgender pride flag . dysphoric . dev". Firefox converts it to 102 00:11:22,350 --> 00:11:29,449 xn-- and I'm not gonna say all that. Chromium converts it to a different 103 00:11:29,449 --> 00:11:36,069 string. Which, if you plug any of those into a converter, it will tell you 104 00:11:36,069 --> 00:11:41,410 that both are invalid punycode. However, both are understood and routed, so I just 105 00:11:41,410 --> 00:11:46,110 simply added an [unintelligible] all-route to my reverse proxy, so that both would 106 00:11:46,110 --> 00:11:52,899 work. If you use dig, which is a command- line tool that lets you look up domain 107 00:11:52,899 --> 00:11:59,230 records - first of all, it doesn't do the punycode conversion at all, so I had to 108 00:11:59,230 --> 00:12:05,000 use one of the strings that one of my browsers gave me, but when I use that 109 00:12:05,000 --> 00:12:13,009 string it also gave me this "It's not a valid IDNA2008 name. Disable validation 110 00:12:13,009 --> 00:12:18,469 using these tool parameters." also didn't tell me that I needed both. So I added the 111 00:12:18,469 --> 00:12:23,979 first and then, oh, you still need the second. But, whatever. Once both were 112 00:12:23,979 --> 00:12:34,750 added, I was able to get correct results and my site was reachable. The next thing 113 00:12:34,750 --> 00:12:40,380 I thought of was, what if I will move my domain to a non-supported registrar, 114 00:12:40,380 --> 00:12:47,800 because as I just talked about, namecheap does not actually allow emoji domains and I 115 00:12:47,800 --> 00:12:52,550 was interested to see how their web interface would handle it. Sadly, it simply did not 116 00:12:52,550 --> 00:12:59,860 handle at all, because they don't support .ws domains. I wasn't really going to 117 00:12:59,860 --> 00:13:07,549 contact their support team to try and still get it because this was only a 118 00:13:07,549 --> 00:13:11,309 simple thing that I will probably just simply not interested in hosting that 119 00:13:11,309 --> 00:13:18,119 domain because it breaks their web interface if you try to. Or other things 120 00:13:18,119 --> 00:13:21,769 about emoji domains break their web interface, so I don't really see why their 121 00:13:21,769 --> 00:13:30,279 support team would actually be on my side here. So, what about email? Because, 122 00:13:30,279 --> 00:13:38,319 apparently, email clients really enjoy breaking. From my experience at least. Do 123 00:13:38,319 --> 00:13:46,649 they break with emoji? When trying to add an emoji domain as a sender, my mail 124 00:13:46,649 --> 00:13:51,059 server actually broke because validation was run after punycode to unicode 125 00:13:51,059 --> 00:13:57,050 conversion, which caused an uncaught exception, which was suprising, it's 126 00:13:57,050 --> 00:14:01,559 already fixed but the patch is not released yet so I couldn't yet test it. 127 00:14:01,559 --> 00:14:06,009 But there's still the local part which I could already control as much as I wanted 128 00:14:06,009 --> 00:14:13,980 to and the [unintelligible] so Thunderbird simply ignored it and showed the punycode 129 00:14:13,980 --> 00:14:21,869 and Apple Mail dropped the zero-width joiner and also showed the punycode under 130 00:14:21,869 --> 00:14:30,369 the thing where it shows the exact domain. So, mixed results, nothing too spectacular, 131 00:14:30,369 --> 00:14:40,129 no exceptions or crashing clients or anything interesting like that, sadly. 132 00:14:40,129 --> 00:14:47,350 What did I learn doing this? Well, obviously emoji domains are very buggy. 133 00:14:47,350 --> 00:14:50,389 Implementations vary from browser to browser so you can have the same input 134 00:14:50,389 --> 00:14:57,149 string and get different punycodes out of it, so testing in just one browser 135 00:14:57,149 --> 00:15:02,839 definitely is not enough, well, it never is, but here especially it isn't. And, you 136 00:15:02,839 --> 00:15:07,009 may be able to buy a domain that won't work as you would think which can cause 137 00:15:07,009 --> 00:15:11,790 quite the annoyance. But it's still a lot of fun to mess around with this stuff, 138 00:15:11,790 --> 00:15:16,339 just not for productive use. I like to end my talks but telling people to join a 139 00:15:16,339 --> 00:15:21,110 labor union that doesn't have anything to do with this but that's what I do for some 140 00:15:21,110 --> 00:15:26,610 reason. And I've got also a blog post about this where I've written it up and I 141 00:15:26,610 --> 00:15:36,220 would publish the slides under the wonderful domain "poop emoji nycode . ws". 142 00:15:36,220 --> 00:15:42,129 It's just a link to my regular blog for now. I'm sorry. I think I went a bit fast 143 00:15:42,129 --> 00:15:51,679 but I still thank you for your time and I'm open to questions. 144 00:15:51,679 --> 00:16:21,589 Herald: [talks, but no sound is audible] Herald: I'm online... oops, I'm sorry. I'm 145 00:16:21,589 --> 00:16:29,089 awfully sorry, my machine is slow. I muted myself about half a minute ago. Thank you 146 00:16:29,089 --> 00:16:34,949 for that beautiful talk, Jennifer. I had to grin a couple of times, because it was 147 00:16:34,949 --> 00:16:44,509 great and it made my day. And actually we have a question. The question is in 148 00:16:44,509 --> 00:16:55,479 German, I'll say it in English: why is DNSSec so complicated for emoji domains? 149 00:16:55,479 --> 00:17:04,579 dysphoricUnicorn: Well, because no one actually really likes emoji domains except 150 00:17:04,579 --> 00:17:08,990 the people who sell them. At least that was my experience looking up things for 151 00:17:08,990 --> 00:17:17,750 that. So, they are kind of disallowed in the standard, but just some of top level domains just 152 00:17:17,750 --> 00:17:23,850 ignore the standard and still let you register them and it's just something that people 153 00:17:23,850 --> 00:17:30,370 will implement things don't want to think about at all. I haven't actually tried 154 00:17:30,370 --> 00:17:35,910 DNSSec, but it's just something that is easilly forgotten because it shouldn't 155 00:17:35,910 --> 00:17:43,329 actually exist, which may be a bit harsh, but... 156 00:17:43,329 --> 00:17:50,850 Herald: Is - you remember the ringtone fads when smartphones didn't exist yet - 157 00:17:50,850 --> 00:17:55,460 is this just a fad like this ringtone thing and it will just disappear within 158 00:17:55,460 --> 00:17:59,770 the next couple of years or would you think emojis are here to stay? Is this 159 00:17:59,770 --> 00:18:03,789 serious? dysphoricUnicorn: I think emojis are here 160 00:18:03,789 --> 00:18:11,070 to stay but not within domains or... like, it was possible since 2001, kind of, but 161 00:18:11,070 --> 00:18:17,870 at least since 2011 where the first actual emoji domain was registered. But most 162 00:18:17,870 --> 00:18:22,700 domains that are, like, popular examples already don't resolve anymore or resolve 163 00:18:22,700 --> 00:18:31,010 to sites that say "emoji domains". So, emoji domains definitely are not much more 164 00:18:31,010 --> 00:18:39,779 than a fad or a nice, funny thing to just look at for a bit. However, emojis as a 165 00:18:39,779 --> 00:18:42,909 whole are such a large part of our culture, I don't think they're going to go 166 00:18:42,909 --> 00:18:48,190 away any time soon because it's been more than ten years and the annoying 167 00:18:48,190 --> 00:18:57,030 downloadable ringtones were popular for a bit less time, I think. 168 00:18:57,030 --> 00:19:01,960 Herald: This is a question that I actually wanted to ask myself as well, because I 169 00:19:01,960 --> 00:19:06,380 run my own email server as well and... which email server software do you talk 170 00:19:06,380 --> 00:19:12,260 about? Do you know about supporting the others? 171 00:19:12,260 --> 00:19:14,120 dysphoricUnicorn: Errm... Herald: What do you use as a software on 172 00:19:14,120 --> 00:19:18,500 your email server? dysphoricUnicorn: My email server is 173 00:19:18,500 --> 00:19:24,150 running on mailhue, which is a set of Docker containers that are specially made 174 00:19:24,150 --> 00:19:29,370 to work together to make setting up an email server as painless as possible for 175 00:19:29,370 --> 00:19:37,389 free. So I haven't actually tested any other servers, however in theory they 176 00:19:37,389 --> 00:19:44,460 shouldn't actually have any issues. So, the part of mailhue that failed wasn't actually the 177 00:19:44,460 --> 00:19:52,240 mail server part. It was simply a parser. So, in theory, with another mail server, 178 00:19:52,240 --> 00:19:59,290 it should work, if they didn't also mess up parsing at some point. 179 00:19:59,290 --> 00:20:03,120 Herald: Somebody asked here, is there a list of top-level domains that support 180 00:20:03,120 --> 00:20:07,619 emojis and somebody posted and answering Wikipedia, is that correct? Wikipedia has 181 00:20:07,619 --> 00:20:11,139 such a list? dysphoricUnicorn: It has, but it isn't 182 00:20:11,139 --> 00:20:16,199 actually correct, the list, that it has it is the english Wikipedia. It lists at 183 00:20:16,199 --> 00:20:21,640 least one domain that no longer supports emojis which is actually kind of a big 184 00:20:21,640 --> 00:20:31,190 political thing where they removed support. So, the Wikipedia list is not 185 00:20:31,190 --> 00:20:38,740 complete or contains too much. There are, however, registrars, that are specialized 186 00:20:38,740 --> 00:20:45,169 in emoji domains and those will have current lists. So, I had .ws as one of 187 00:20:45,169 --> 00:20:51,230 them. It's not the red heart emoji, though because that's invalid punycode and so I 188 00:20:51,230 --> 00:20:55,880 don't really know what to enter in my URL bar to get to them other than searching 189 00:20:55,880 --> 00:21:02,169 it on Google, so... Herald: laughs Next question, is there a 190 00:21:02,169 --> 00:21:06,880 difference between single punycode and multiple emoji chained together as a 191 00:21:06,880 --> 00:21:16,710 second or third level domain? dysphoricUnicorn: It's just different 192 00:21:16,710 --> 00:21:24,440 punycode, depending on how many emoji you have but theoretically, the implementation 193 00:21:24,440 --> 00:21:32,740 for this would just, I think the technical term was ASCII-to-Unicode something, which 194 00:21:32,740 --> 00:21:42,739 is like, an algorithm to convert it, does handle multiple emoji similarly. Or - it 195 00:21:42,739 --> 00:21:49,610 should work without any issues if one of the two works. 196 00:21:49,610 --> 00:21:54,620 Herald: Are there any emoji first-level domains? 197 00:21:54,620 --> 00:21:59,730 dysphoricUnicorn: No. There are not. There are punycode first-level domains, because 198 00:21:59,730 --> 00:22:07,899 there are languages that simply do not use the same letters as english does, so 199 00:22:07,899 --> 00:22:12,409 punycode first-level domains are existent but no emoji first-level domains at this 200 00:22:12,409 --> 00:22:17,770 point. Maybe there will be, but I kind of doubt it because the people in charge of 201 00:22:17,770 --> 00:22:26,520 this emoji domains are kind of an eye sore to them from what I could read, so... 202 00:22:26,520 --> 00:22:30,269 Herald: Talking about eye sores: I always have the impression, that at least to the 203 00:22:30,269 --> 00:22:36,480 old coders, diacritical signs in themselves were considered an eye sore. 204 00:22:36,480 --> 00:22:40,600 You know, that funny little dots those German speaking people have up there. 205 00:22:40,600 --> 00:22:46,220 Don't talk about the Czech and the Poles. Now, my name contains such a diacritical 206 00:22:46,220 --> 00:22:51,169 sign, my first name is André and I've been fighting with all kinds of inputs that say 207 00:22:51,169 --> 00:23:03,389 7 Bit ASCII and nothing else. Do diacritical signs still break domains? 208 00:23:03,389 --> 00:23:09,900 dysphoricUnicorn: They should not, because are actually reason why IDN's exist. So it 209 00:23:09,900 --> 00:23:14,009 was actually proposed by someone who has one of those sign in his name and probably 210 00:23:14,009 --> 00:23:22,240 just wanted the domain with his name. This was the actual reason why we have punycode 211 00:23:22,240 --> 00:23:28,200 in the first place and supporting emoji was kind of an unwanted side effect. So in 212 00:23:28,200 --> 00:23:35,670 theory, it should work without issues but still many people don't think about it 213 00:23:35,670 --> 00:23:40,549 enough when implementing their own thing, so you can never be too certain that it 214 00:23:40,549 --> 00:23:47,909 will. But it should. Herald: seventy posted here, seventy 215 00:23:47,909 --> 00:23:53,120 obviously runs a Windows, and in Windows 10, the emoji menu with the combination of 216 00:23:53,120 --> 00:24:00,360 the Windows and the full stop. Is that common already or is that new? I think 217 00:24:00,360 --> 00:24:06,059 it's common by now, it's been implemented and ever since then everybody's been using 218 00:24:06,059 --> 00:24:13,949 emojis. And there is also a remark that says "MS Outlook has actually pretty good 219 00:24:13,949 --> 00:24:27,129 unicode-punycode support but still don't try emojis". I remember a story about when 220 00:24:27,129 --> 00:24:32,460 the Bosnian wars broke, when the Yugoslav war broke, especially the ones in Bosnia 221 00:24:32,460 --> 00:24:36,549 broke out, there were about a hundred thousand Bosnians that fled to 222 00:24:36,549 --> 00:24:41,850 Switzerland, and about fifteen thousand were granted citizenship, but they 223 00:24:41,850 --> 00:24:46,149 couldn't be registered in the citizenship register, because that only supported 224 00:24:46,149 --> 00:24:52,668 7-bit or 8-bit ASCII but no diacritical sign of [unintelligible]. I think they 225 00:24:52,668 --> 00:25:00,439 fixed it by now but that was quite a thing some years back. I see no further 226 00:25:00,439 --> 00:25:06,549 question, - oh, there is one ... coughs ... one... coughs excuse me that came in 227 00:25:06,549 --> 00:25:13,799 right now... coughs... is there a uniform way to generate punycode over 228 00:25:13,799 --> 00:25:19,380 multiple platforms? Mobiles do not work well with entering unicode numbers as we 229 00:25:19,380 --> 00:25:27,069 all know. dysphoricUnicorn: I'm not sure I 230 00:25:27,069 --> 00:25:32,909 understood this correctly. The easiest way that I used during my testing was a 231 00:25:32,909 --> 00:25:39,710 simple online converters that would work on every page. And actually my system 232 00:25:39,710 --> 00:25:44,519 doesn't have a shortcut for emoji so I would always copy and paste from 233 00:25:44,519 --> 00:25:52,859 emojipedia into an online punycode converter and just use it from there. Because I 234 00:25:52,859 --> 00:26:00,600 don't actually use emoji that much. Herald: Okay, we've come to the end of our 235 00:26:00,600 --> 00:26:06,959 time. We still would have another minute or two, but we have no more questions. 236 00:26:06,959 --> 00:26:11,019 Thank you in the meantime for coming and holding this talk. You have another talk. 237 00:26:11,019 --> 00:26:13,069 I think it's tomorrow? 238 00:26:13,069 --> 00:26:17,129 Outro 239 00:26:17,129 --> 00:26:25,000 Subtitles created by c3subtitles.de in the year 2021. Join, and help us!