WEBVTT 00:00:00.000 --> 00:00:17.310 Intro 00:00:17.310 --> 00:00:24.330 Herald: So welcome to this evening's next talk with the wonderfully broken title, I 00:00:24.330 --> 00:00:29.580 love it, "Emoji domains and how wonderfully broken they are" by a very, 00:00:29.580 --> 00:00:38.550 very wonderful person, Jennifer, who is a web developer, and you wouldn't believe 00:00:38.550 --> 00:00:46.730 it, her nick is "unicorn", here is a unicorn! ... Hi! Jennifer this is, tell us 00:00:46.730 --> 00:00:54.070 everything about emoji domains, and why they are so rotten broken. You go! 00:00:54.070 --> 00:01:02.019 dysphoricUnicorn: Yeah, thank you a lot. Exactly - are we speaking about these 00:01:02.019 --> 00:01:09.360 wonderfully broken things and the talk will be kind of like... I start with a bit 00:01:09.360 --> 00:01:13.400 of an intro dump about the history of emoji domains and what they actually are 00:01:13.400 --> 00:01:19.800 and then I will talk about my personal experience breaking things with them. So 00:01:19.800 --> 00:01:26.369 yeah, let's start right of with the history. So, DNS were standardized in 00:01:26.369 --> 00:01:37.069 1987, with a very limited character set. So, you can see, like, only roman naturals 00:01:37.069 --> 00:01:46.700 and some numbers, and, like, four non- letters. So these are definitely not 00:01:46.700 --> 00:01:51.880 sufficient for many languages and it's a very euro-centric view, or not even just 00:01:51.880 --> 00:01:58.899 euro-centric, but it's actually very centered on the english language and it 00:01:58.899 --> 00:02:07.249 was clear that this won't suffice so in 1996, internationalized domain names were 00:02:07.249 --> 00:02:14.560 posed, which allow encoding characters that are not supported or that are not 00:02:14.560 --> 00:02:20.960 officially supported into this very small character set so that browsers could 00:02:20.960 --> 00:02:31.370 simply convert them on the fly. This... sources kind of disagree when this exactly 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 00:02:36.140 --> 00:02:42.940 time. The IDNA2003 standard allowed the support, but the first emoji domains were 00:02:42.940 --> 00:02:50.290 actually registered in 2001. Interesting about these is that, in 2001, emojis 00:02:50.290 --> 00:02:57.370 weren't part of Unicode yet. So you can see these examples, like the "hot springs" 00:02:57.370 --> 00:03:03.300 those do show as emoji. which is because they are both emoji and Unicode pictographs. 00:03:03.300 --> 00:03:10.150 So, not actually emoji domains at the time, but right now, they were kind of 00:03:10.150 --> 00:03:16.760 converted into emojis. Back then, they were just pictographs. I couldn't really 00:03:16.760 --> 00:03:20.490 find out if those domains actually resolved if you entered the pictographs 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 00:03:25.100 --> 00:03:33.480 once IDNA2003 or whatever standard would implement it, went live. So there was also 00:03:33.480 --> 00:03:39.410 an IDNA2003 normalization, but that is not too interesting for us because we just 00:03:39.410 --> 00:03:45.840 want to look at the emoji side of things. IDNA2008 actually banned emoji for most 00:03:45.840 --> 00:03:50.100 major TLDs, because of concerns that it would be used for phishing domains that 00:03:50.100 --> 00:03:57.450 looked very similiar to actual, other domains. Like every character exists as an 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 00:04:05.870 --> 00:04:14.440 and they decided to ban it for most major TLDs that comply with IDNA2003. Important 00:04:14.440 --> 00:04:24.090 to my little story, in 2020, the emoji 13 standard added transgender pride flag 00:04:24.090 --> 00:04:33.160 emoji. You'll see why that's important later. So what actually is this punycode 00:04:33.160 --> 00:04:39.590 encoding? It's non-human readable representation of Unicode characters. So you can see this 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 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 00:04:51.340 --> 00:04:57.330 be changed, it's only inside your browser that these conversions happen. Compatible 00:04:57.330 --> 00:05:01.540 browsers, depending on which browser you use, will either intransparently or 00:05:01.540 --> 00:05:08.000 semitransparently translate, Firefox for example, as a mitigation to these phishing 00:05:08.000 --> 00:05:16.430 attempts, does allow you to enter emoji or other Unicode characters, but as soon as 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 00:05:22.600 --> 00:05:29.710 far as I know, does not do it transparently, so you will not know what 00:05:29.710 --> 00:05:35.620 exactly the punycode representation is of what you were just enterin'. And different 00:05:35.620 --> 00:05:44.500 TLDs only support a specific subset as I said, IDNA2008 actually banned it. Fun 00:05:44.500 --> 00:05:50.440 fact, I forgot on the last slide: IDNA2008 went live in 2010 which is kind of 00:05:50.440 --> 00:05:57.900 confusing, but whatever. Different TLDs only support specific charsets, most don't 00:05:57.900 --> 00:06:02.070 support emoji, but there are TLDs that have "supporting emoji" as their main 00:06:02.070 --> 00:06:10.050 selling point. TLDs that most people wouldn't want to use unless they just 00:06:10.050 --> 00:06:20.830 simply are interested in emoji. Why did I end up breaking things with it? In early 00:06:20.830 --> 00:06:26.850 2011... not 2011, 2021... this year - I was unemployed and looking for interesting 00:06:26.850 --> 00:06:33.130 ways to build my portfolio. I knew that emoji were somewhat supported but I didn't 00:06:33.130 --> 00:06:38.160 know what, how exactly it worked, I just knew that there were some people that had 00:06:38.160 --> 00:06:42.780 emoji domains and I was kind of happy that there was a transgender pride emoji 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 00:06:47.580 --> 00:06:55.250 this transgender pride emoji to also kind of become less interesting for bigoted 00:06:55.250 --> 00:07:05.100 potential employers. So, yeah, let's register domain with that emoji. Well... 00:07:05.100 --> 00:07:09.160 that seems to be a bit more difficult because these domains, even though you 00:07:09.160 --> 00:07:16.030 never really counter them, seemed to be sold out. Nothing that I looked up worked, 00:07:16.030 --> 00:07:23.579 and actually the web interface broke a bit, but more to that later. Well... none 00:07:23.579 --> 00:07:28.270 of these domains actually resolve to anything: .dev does not support emoji at 00:07:28.270 --> 00:07:33.300 all and namecheap doesn't support emoji even with top-level domains that do 00:07:33.300 --> 00:07:40.860 support them. So, I had to go to another registrar, which was a bit annoying 00:07:40.860 --> 00:07:45.770 because I thought, well, I like everything in one place, not specifically I love 00:07:45.770 --> 00:07:52.240 namecheap or anything. But, whatever. Few months later, I am now the proud owner of 00:07:52.240 --> 00:07:59.889 "transgender pride flag purple heart . ws". At least, that what I think. So, I 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 00:08:04.890 --> 00:08:14.260 and - wow. My server usually isn't that slow. Timeouts... the route looks okay 00:08:14.260 --> 00:08:22.970 inside my reverse proxy, trying again, and after long time, I end up with this 00:08:22.970 --> 00:08:30.760 wonderful error message. So we're sorry, that domain is invalid. It also does not 00:08:30.760 --> 00:08:35.630 show the transgender pride flag anymore, but that could be down to the simply their 00:08:35.630 --> 00:08:40.800 webfont not supporting it yet because it was just added to emoji 13, at least 00:08:40.800 --> 00:08:45.350 that's what I thought at that point. Obviously, I was a bit scared because, 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 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 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 00:09:05.930 --> 00:09:14.439 me some invalid domain or they also definitely did not scam me, because if you 00:09:14.439 --> 00:09:19.589 enter these exact characters that apparently are invalid, it does resolve to 00:09:19.589 --> 00:09:24.800 my server. So when I looked at the godaddy web interface, it also showed 00:09:24.800 --> 00:09:30.449 these three characters, the purple heart, the white flag and the transgender symbol. 00:09:30.449 --> 00:09:34.540 It's simply not the domain that I had entered into the emoji domain search 00:09:34.540 --> 00:09:41.449 engine. Wasn't just their webfont that doesn't support it. And that is caused by 00:09:41.449 --> 00:09:47.579 the wonderful zero-width joiners. To avoid having tons of similar emoji, each with 00:09:47.579 --> 00:09:53.269 their own code, many emoji are created by combining others. So you have the skintone 00:09:53.269 --> 00:09:57.569 modifiers for example or the country flags, that are a combination of different 00:09:57.569 --> 00:10:02.550 emoji with a zero-width joiner. The transgender pride flag is a combination of 00:10:02.550 --> 00:10:08.780 a white flag and a transgender symbol with a zero-width joiner inbetween. And the 00:10:08.780 --> 00:10:14.480 thing is, punycode does not really support them so it was simply just dropped during 00:10:14.480 --> 00:10:26.179 conversion while I bought my domain. But that's not everything. Because I still had 00:10:26.179 --> 00:10:34.429 this project, I still wanted emoji domains and my interest was peaked so I wanted to 00:10:34.429 --> 00:10:40.880 try out what else I could break. To avoid spending even more money on this 00:10:40.880 --> 00:10:46.860 project, I just moved my testing to sub domains which was a good idea because I 00:10:46.860 --> 00:10:50.979 have way more control over sub domains than I have over regular ones. I can 00:10:50.979 --> 00:10:57.460 register them with any registrar, so I could use my go-to registrar. I can 00:10:57.460 --> 00:11:03.490 register whatever strings I want, so even invalid punycode. I can register them 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 00:11:08.160 --> 00:11:15.899 third-level domain. And, yeah, let's see what browsers do about that. So I created 00:11:15.899 --> 00:11:22.350 the sub domain "transgender pride flag . dysphoric . dev". Firefox converts it to 00:11:22.350 --> 00:11:29.449 xn-- and I'm not gonna say all that. Chromium converts it to a different 00:11:29.449 --> 00:11:36.069 string. Which, if you plug any of those into a converter, it will tell you 00:11:36.069 --> 00:11:41.410 that both are invalid punycode. However, both are understood and routed, so I just 00:11:41.410 --> 00:11:46.110 simply added an [unintelligible] all-route to my reverse proxy, so that both would 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 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 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 00:12:05.000 --> 00:12:13.009 string it also gave me this "It's not a valid IDNA2008 name. Disable validation 00:12:13.009 --> 00:12:18.469 line:1 using these tool parameters." also didn't tell me that I needed both. So I added the 00:12:18.469 --> 00:12:23.979 first and then, oh, you still need the second. But, whatever. Once both were 00:12:23.979 --> 00:12:34.750 added, I was able to get correct results and my site was reachable. The next thing 00:12:34.750 --> 00:12:40.380 I thought of was, what if I will move my domain to a non-supported registrar, 00:12:40.380 --> 00:12:47.800 because as I just talked about, namecheap does not actually allow emoji domains and I 00:12:47.800 --> 00:12:52.550 was interested to see how their web interface would handle it. Sadly, it simply did not 00:12:52.550 --> 00:12:59.860 handle at all, because they don't support .ws domains. I wasn't really going to 00:12:59.860 --> 00:13:07.549 contact their support team to try and still get it because this was only a 00:13:07.549 --> 00:13:11.309 simple thing that I will probably just simply not interested in hosting that 00:13:11.309 --> 00:13:18.119 domain because it breaks their web interface if you try to. Or other things 00:13:18.119 --> 00:13:21.769 about emoji domains break their web interface, so I don't really see why their 00:13:21.769 --> 00:13:30.279 support team would actually be on my side here. So, what about email? Because, 00:13:30.279 --> 00:13:38.319 apparently, email clients really enjoy breaking. From my experience at least. Do 00:13:38.319 --> 00:13:46.649 they break with emoji? When trying to add an emoji domain as a sender, my mail 00:13:46.649 --> 00:13:51.059 server actually broke because validation was run after punycode to unicode 00:13:51.059 --> 00:13:57.050 conversion, which caused an uncaught exception, which was suprising, it's 00:13:57.050 --> 00:14:01.559 already fixed but the patch is not released yet so I couldn't yet test it. 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 00:14:06.009 --> 00:14:13.980 to and the [unintelligible] so Thunderbird simply ignored it and showed the punycode 00:14:13.980 --> 00:14:21.869 and Apple Mail dropped the zero-width joiner and also showed the punycode under 00:14:21.869 --> 00:14:30.369 the thing where it shows the exact domain. So, mixed results, nothing too spectacular, 00:14:30.369 --> 00:14:40.129 no exceptions or crashing clients or anything interesting like that, sadly. 00:14:40.129 --> 00:14:47.350 What did I learn doing this? Well, obviously emoji domains are very buggy. 00:14:47.350 --> 00:14:50.389 Implementations vary from browser to browser so you can have the same input 00:14:50.389 --> 00:14:57.149 string and get different punycodes out of it, so testing in just one browser 00:14:57.149 --> 00:15:02.839 definitely is not enough, well, it never is, but here especially it isn't. And, you 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 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, 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 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 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 00:15:26.610 --> 00:15:36.220 would publish the slides under the wonderful domain "poop emoji nycode . ws". 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 00:15:42.129 --> 00:15:51.679 line:1 but I still thank you for your time and I'm open to questions. 00:15:51.679 --> 00:16:21.589 line:1 Herald: [talks, but no sound is audible] Herald: I'm online... oops, I'm sorry. I'm 00:16:21.589 --> 00:16:29.089 awfully sorry, my machine is slow. I muted myself about half a minute ago. Thank you 00:16:29.089 --> 00:16:34.949 for that beautiful talk, Jennifer. I had to grin a couple of times, because it was 00:16:34.949 --> 00:16:44.509 great and it made my day. And actually we have a question. The question is in 00:16:44.509 --> 00:16:55.479 German, I'll say it in English: why is DNSSec so complicated for emoji domains? 00:16:55.479 --> 00:17:04.579 dysphoricUnicorn: Well, because no one actually really likes emoji domains except 00:17:04.579 --> 00:17:08.990 the people who sell them. At least that was my experience looking up things for 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 00:17:17.750 --> 00:17:23.850 ignore the standard and still let you register them and it's just something that people 00:17:23.850 --> 00:17:30.370 will implement things don't want to think about at all. I haven't actually tried 00:17:30.370 --> 00:17:35.910 DNSSec, but it's just something that is easilly forgotten because it shouldn't 00:17:35.910 --> 00:17:43.329 actually exist, which may be a bit harsh, but... 00:17:43.329 --> 00:17:50.850 Herald: Is - you remember the ringtone fads when smartphones didn't exist yet - 00:17:50.850 --> 00:17:55.460 is this just a fad like this ringtone thing and it will just disappear within 00:17:55.460 --> 00:17:59.770 the next couple of years or would you think emojis are here to stay? Is this 00:17:59.770 --> 00:18:03.789 serious? dysphoricUnicorn: I think emojis are here 00:18:03.789 --> 00:18:11.070 to stay but not within domains or... like, it was possible since 2001, kind of, but 00:18:11.070 --> 00:18:17.870 at least since 2011 where the first actual emoji domain was registered. But most 00:18:17.870 --> 00:18:22.700 domains that are, like, popular examples already don't resolve anymore or resolve 00:18:22.700 --> 00:18:31.010 to sites that say "emoji domains". So, emoji domains definitely are not much more 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 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 00:18:42.909 --> 00:18:48.190 away any time soon because it's been more than ten years and the annoying 00:18:48.190 --> 00:18:57.030 downloadable ringtones were popular for a bit less time, I think. 00:18:57.030 --> 00:19:01.960 Herald: This is a question that I actually wanted to ask myself as well, because I 00:19:01.960 --> 00:19:06.380 run my own email server as well and... which email server software do you talk 00:19:06.380 --> 00:19:12.260 about? Do you know about supporting the others? 00:19:12.260 --> 00:19:14.120 dysphoricUnicorn: Errm... Herald: What do you use as a software on 00:19:14.120 --> 00:19:18.500 your email server? dysphoricUnicorn: My email server is 00:19:18.500 --> 00:19:24.150 running on mailhue, which is a set of Docker containers that are specially made 00:19:24.150 --> 00:19:29.370 to work together to make setting up an email server as painless as possible for 00:19:29.370 --> 00:19:37.389 free. So I haven't actually tested any other servers, however in theory they 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 00:19:44.460 --> 00:19:52.240 mail server part. It was simply a parser. So, in theory, with another mail server, 00:19:52.240 --> 00:19:59.290 it should work, if they didn't also mess up parsing at some point. 00:19:59.290 --> 00:20:03.120 Herald: Somebody asked here, is there a list of top-level domains that support 00:20:03.120 --> 00:20:07.619 emojis and somebody posted and answering Wikipedia, is that correct? Wikipedia has 00:20:07.619 --> 00:20:11.139 such a list? dysphoricUnicorn: It has, but it isn't 00:20:11.139 --> 00:20:16.199 actually correct, the list, that it has it is the english Wikipedia. It lists at 00:20:16.199 --> 00:20:21.640 least one domain that no longer supports emojis which is actually kind of a big 00:20:21.640 --> 00:20:31.190 political thing where they removed support. So, the Wikipedia list is not 00:20:31.190 --> 00:20:38.740 complete or contains too much. There are, however, registrars, that are specialized 00:20:38.740 --> 00:20:45.169 in emoji domains and those will have current lists. So, I had .ws as one of 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 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 00:20:55.880 --> 00:21:02.169 it on Google, so... Herald: laughs Next question, is there a 00:21:02.169 --> 00:21:06.880 difference between single punycode and multiple emoji chained together as a 00:21:06.880 --> 00:21:16.710 second or third level domain? dysphoricUnicorn: It's just different 00:21:16.710 --> 00:21:24.440 punycode, depending on how many emoji you have but theoretically, the implementation 00:21:24.440 --> 00:21:32.740 for this would just, I think the technical term was ASCII-to-Unicode something, which 00:21:32.740 --> 00:21:42.739 is like, an algorithm to convert it, does handle multiple emoji similarly. Or - it 00:21:42.739 --> 00:21:49.610 should work without any issues if one of the two works. 00:21:49.610 --> 00:21:54.620 Herald: Are there any emoji first-level domains? 00:21:54.620 --> 00:21:59.730 dysphoricUnicorn: No. There are not. There are punycode first-level domains, because 00:21:59.730 --> 00:22:07.899 there are languages that simply do not use the same letters as english does, so 00:22:07.899 --> 00:22:12.409 punycode first-level domains are existent but no emoji first-level domains at this 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 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... 00:22:26.520 --> 00:22:30.269 Herald: Talking about eye sores: I always have the impression, that at least to the 00:22:30.269 --> 00:22:36.480 old coders, diacritical signs in themselves were considered an eye sore. 00:22:36.480 --> 00:22:40.600 You know, that funny little dots those German speaking people have up there. 00:22:40.600 --> 00:22:46.220 Don't talk about the Czech and the Poles. Now, my name contains such a diacritical 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 00:22:51.169 --> 00:23:03.389 7 Bit ASCII and nothing else. Do diacritical signs still break domains? 00:23:03.389 --> 00:23:09.900 dysphoricUnicorn: They should not, because are actually reason why IDN's exist. So it 00:23:09.900 --> 00:23:14.009 was actually proposed by someone who has one of those sign in his name and probably 00:23:14.009 --> 00:23:22.240 just wanted the domain with his name. This was the actual reason why we have punycode 00:23:22.240 --> 00:23:28.200 in the first place and supporting emoji was kind of an unwanted side effect. So in 00:23:28.200 --> 00:23:35.670 theory, it should work without issues but still many people don't think about it 00:23:35.670 --> 00:23:40.549 enough when implementing their own thing, so you can never be too certain that it 00:23:40.549 --> 00:23:47.909 will. But it should. Herald: seventy posted here, seventy 00:23:47.909 --> 00:23:53.120 obviously runs a Windows, and in Windows 10, the emoji menu with the combination of 00:23:53.120 --> 00:24:00.360 the Windows and the full stop. Is that common already or is that new? I think 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 00:24:06.059 --> 00:24:13.949 emojis. And there is also a remark that says "MS Outlook has actually pretty good 00:24:13.949 --> 00:24:27.129 unicode-punycode support but still don't try emojis". I remember a story about when 00:24:27.129 --> 00:24:32.460 the Bosnian wars broke, when the Yugoslav war broke, especially the ones in Bosnia 00:24:32.460 --> 00:24:36.549 broke out, there were about a hundred thousand Bosnians that fled to 00:24:36.549 --> 00:24:41.850 Switzerland, and about fifteen thousand were granted citizenship, but they 00:24:41.850 --> 00:24:46.149 couldn't be registered in the citizenship register, because that only supported 00:24:46.149 --> 00:24:52.668 7-bit or 8-bit ASCII but no diacritical sign of [unintelligible]. I think they 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 00:25:00.439 --> 00:25:06.549 question, - oh, there is one ... coughs ... one... coughs excuse me that came in 00:25:06.549 --> 00:25:13.799 right now... coughs... is there a uniform way to generate punycode over 00:25:13.799 --> 00:25:19.380 multiple platforms? Mobiles do not work well with entering unicode numbers as we 00:25:19.380 --> 00:25:27.069 all know. dysphoricUnicorn: I'm not sure I 00:25:27.069 --> 00:25:32.909 understood this correctly. The easiest way that I used during my testing was a 00:25:32.909 --> 00:25:39.710 simple online converters that would work on every page. And actually my system 00:25:39.710 --> 00:25:44.519 doesn't have a shortcut for emoji so I would always copy and paste from 00:25:44.519 --> 00:25:52.859 emojipedia into an online punycode converter and just use it from there. Because I 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 00:26:00.600 --> 00:26:06.959 time. We still would have another minute or two, but we have no more questions. 00:26:06.959 --> 00:26:11.019 Thank you in the meantime for coming and holding this talk. You have another talk. 00:26:11.019 --> 00:26:13.069 I think it's tomorrow? 00:26:13.069 --> 00:26:17.129 Outro 00:26:17.129 --> 00:26:25.000 Subtitles created by c3subtitles.de in the year 2021. Join, and help us!