a little bit. Anyway, first a little bit about me. This is me with my colleague Shwetang, just the other night. We both work at Opera Software in developer relations. In case it wasn't clear, I'm the one on the left. Anyway, I'm here to talk about Unicode, right? Before we get started, let's just make sure we're all on the same page when it comes to Unicode. I'm going to throw some terminology at you, just a couple of keywords that you need to remember because I'll be using them throughout the rest of this presentation. Don't worry, it's nothing big. What is Unicode exactly? It's easiest to think of Unicode as kind of a database that maps any symbol that you can think of to a unique name for that symbol, the canonical name, and also a unique number for that symbol. This number is called the code point. Now, this seems fairly simple, but it's actually really useful and very powerful because this allows you to refer to any given symbol without having to use the symbol itself. You can simply refer to the code point, the number, and then everyone can look that up in the Unicode standard and they will know exactly which symbol you're talking about. So, for example, there's the Latin capital letter A, which has the code point U plus 0041. Now, code points are usually formatted like this, so they get the U plus prefix, and then they're followed by a number of hexadecimal digits. Usually, there's zero padded up to at least four hexadecimal digits as well, but it is possible that there are more hexadecimal digits. So, another example is the Latin small letter A. This is a completely different symbol, even though you might think that they're related because one is the uppercase version of the other, but because they're separate symbols, they each get their own unique canonical name and their each unique code point. So, yeah, it's just like that for any other symbol, like there's the copyright sign in Unicode, there's the Canada letters, they each get their own code point, really. Then there's some code points for who you need more than five or four hexadecimal digits to represent them, like the tetrogram for center, for example. The code point is 1D306, and then there's also the pile of poo emoji and many other emoji, actually. You need more than four hexadecimal digits to represent those. Now, Unicode contains a lot of code points. The range goes all the way from O to 10FFF, so that's a little bit over 1.1 million code points. That's a lot of them. So, to keep things a little bit organized, it divides these code points up into 17 so-called planes, and I'm not going to bore you with all the details of all these different planes, but the first one of these planes is pretty important. It's called the BMP, or the basic multilingual plane, and it ranges from O to FFFF. So, why is this plane so important? Well, it contains all the most commonly used symbols. So, for example, if you're writing an English document in text, you probably won't need any symbols outside of this BMP range. Even if you're writing a text document in using the Canada script, you probably won't need any code points outside of the BMP. That's why it's so important. It contains all the most commonly used symbols. But, there are a lot of other symbols as well, and all those other planes combined together, they are called the astral planes. So, together, these planes, they contain about one million other code points, so the vast majority of all Unicode code points lies within those astral planes, but it's just that the most commonly used ones are all part of the basic multilingual plane, and that's why a lot of people tend to focus on the basic multilingual plane only. And that's where a lot of mistakes happen as well. So, I have this other presentation titled JavaScript has a Unicode problem, where I explain some of these issues involving those astral symbols in JavaScript strings. Now, I cannot give you all those examples today. There's no time for that, because I want to talk about regular expressions instead. But just to give you one example, a string containing only an astral symbol, for example, the pile of poo, has a length of two instead of one. And this happens because JavaScript exposes astral symbols as if there were two separate code points. It exposes a surrogate pair. So, each half of the surrogate is exposed as if it was an individual character, which is very confusing, of course, because in the end, there's only really one real symbol, one actual code point in that string. So, in the second example there at the bottom, you see what JavaScript thinks this string is equal to. It just exposes each of these separate surrogate halves as if there were individual characters, and that's why the string has a length of two. Now, this is just one of the many examples of kind of unexpected behavior in JavaScript strings. It's really tricky to deal with Unicode in all these cases, and if you're interested in this, check out that presentation that I talked about earlier. I also have a blog post that details all these different problems and how you can work around them, and how ECMAScript 6 helps us to fix and avoid these issues. But like I said, today we're going to talk about regular expressions specifically. So, there's this new flag for regular expressions that I mentioned earlier, the U flag, which stands for Unicode. And there's a couple of things that happen if you apply this flag to a regular expression. For starters, there's some new syntax that gets enabled. It also has a certain impact on the dot operator in regular expressions. Quantifiers are also impacted. Character classes, character class escapes. The i flag for case insensitivity also has some new behaviors when it's combined with the new U flag. And then finally, we'll take a look at browser support for this new feature and we'll talk about how we can start using this feature already today. So, first let's focus on the new syntax features that we unlock simply by using this new flag. So, adding the U flag to a regular expression enables a new syntax called the Unicode code point escapes. These things are also available in strings in ECMAScript 6, but if you want to use them in a regular expression, you need to add the U flag specifically to your regular expression. So, these things start with a backslash, followed by U, followed by braces. And between these braces, you can use any number of hexadecimal digits you want. And of course, you only need six to represent every possible Unicode code point. So, this gives you a really easy way to refer to a symbol, again, without having to use the symbol itself. You can just refer to its code points and that keeps your regular expressions a bit more readable in many cases, especially if you want to match characters that are non-printable or invisible or just look a little bit weird. So, adding this U flag enables this feature, but it might look like you're already able to use these Unicode code point escapes even without using the U flag, but that's not the case. So, for example, this piece of code at the bottom here, it does not throw an error. So, you might think, hey, it already works. I don't need to do anything. But the code doesn't really do what you would expect it to do. This is, in fact, not a Unicode code point escape. In this case, the backslash followed by the U is just an unnecessary escape sequence for the U character. And then the braces with the number wrapped in it, those are just a quantifier. So, essentially, instead of matching the code point one, two, three, four, you're basically saying, match the letter U repeated one, two, three, four times. So, this can be a little bit confusing.  You should watch out and make sure that you're not using any unnecessary escapes like this one, because it might accidentally change the meaning of your existing regular expressions and it might break your code. So, to avoid this kind of ambiguity in the future, the U flag also prevents you from using these unneeded escapes. So, for example, if you want to use the A character in a regular expression, you should just use it. It has no special meaning. So, there's no reason for you to escape it using a backslash. So, if you enable the U flag on this regular expression, it would throw an error because backslash A is not a reserved escape sequence. There's no reason to use that backslash there. So, really, you can think of the U flag as kind of like a strict mode, but for regular expressions specifically. I would recommend to use it whenever you can, especially for every regular expression that you write from now on.  So, you should review each and every regular expression individually before you add the U flag to it. Now, let's talk about the impact of the U flag on the dot operator. So, in ECMAScript 5, without using the U flag, the dot operator will match any BMP symbol, except for line terminators. So, for example, if you use the regular expression A dot B, and you're trying to match the string A tetrogram for sender B, because the tetrogram character is an astral symbol, it wouldn't actually work the way you expect it to. It wouldn't match the string. So, we can fix this by simply enabling the U flag for our regular expression. That magically makes the dot operator work the way you expect it to work. It just matches any symbol in Unicode, except for line terminators. Now, another thing we should talk about is the impact the U flag has on quantifiers. Now, quantifiers are things like the asterisk and the plus and the question mark and those braces with numbers between them.  Those things are called quantifiers. So, if you use, like, in this example, we're trying to match two consecutive A symbols. And if we test that on the string AA, of course we get a match. So, the result is true. This makes sense. However, if you try to do the same thing with an astral symbol, suddenly it doesn't work anymore. And the reason for that is that without the U flag, if a quantifier follows an astral symbol, the quantifier only applies to one of the two surrogates that make up this astral symbol. So, just to make this a bit more clear, as far as JavaScript is concerned, this is what that regular expression looks like. We talked about this before. This is the surrogate pair that represents this astral symbol. And now the quantifier is only applied to one of those two surrogates, not to the surrogate pair as a whole. So, again, this regular expression does not work the way you would probably expect it to work. It's a bit confusing. So, how can we fix this behavior? Well, once again, it's really easy. All you need to do is just add the U flag to your regular expression. And that magically makes it work the way you expected it to work in the first place. So, quantifiers now apply to whole symbols, even for astral symbols. Now, there's also an impact on character classes. Character classes are these brackets, and then you can have a range of characters in between them. So, for example, if you have B, C, D, like in this example, it will match B or C or D, but nothing else. And this works as expected for any BMP symbol. But as soon as you try to add an astral symbol in a character class, the JavaScript engine will still treat that as two separate characters, one for each half of the surrogate pair. So, because of that, even though the tetrogram symbol is part of the regular expression, it wouldn't match that string. And, once again, that's because as far as JavaScript is concerned, internally, this is what that regular expression looks like. There's not three characters in that character class, but there's four, and each half of the surrogate counts as a separate character. That's why the string doesn't match. So, how do we solve this problem? Well, once again, it's really easy. All you need to do is just add the U flag to the regular expression. And that magically makes it work the way you want it to. So, this also means that whole astral symbols can be used in character class ranges. So, within a character class, you can use a dash, like a hyphen, to create a range between some characters. So, for example, this regular expression would match any symbol from the pile of poo all the way to the dizzy symbol. So, it would match the flexed biceps emoji as well. And this works because we're using the U flag. But if we try to do the same thing without the U flag, then the regular expression won't even execute. You will get a syntax error if you just try to run that first line of code. It says the regular expression is invalid. The range is out of order in the character class. So, what is happening there? Well, again, as far as JavaScript is concerned, this is what that regular expression looks like. You have two astral symbols. So, each of them consists of a surrogate pair. And now there's a range, but JavaScript is trying to create a range between one half of the surrogate pair and one surrogate of the second astral symbol. This is not the range you intended to create in the first place. And because the first number, the first code point, is a greater value than the second one, it also throws an error. Now, another thing that is affected is negated character classes. So, within a character class, you can use the carrot symbol at the start. And this means I want to match anything that is not part of this character class. So, in this case, you want to match any character that is not the A symbol. But without the U flag in ECMAScript 5, this only matches BMP symbols. So, this will match BMP symbols except for A. But it won't match astral symbols like the pile of poo or the tetrogram symbol. Because JavaScript, again, considers those to be two individual characters, each half of the surrogate counts as an individual symbol. However, if we just add the U flag, the same regular expression matches the much bigger set of all Unicode symbols except for A, instead of just matching all the BMP symbols except of A. Now, there's also an impact on character class escapes. Now, these are things like backslash d, backslash s, and backslash w. I'm sure you've seen this before. For example, backslash lowercase d in a regular expression, it will match digits. And in JavaScript's definition of digits, it only matches the characters from 0 to 9. So, in the Unicode standard, there's many more digits like in different scripts and stuff. But historically, JavaScript is only matched from 0 to 9. So, lowercase backslash d matches from 0 to 9. So, uppercase backslash d will match any non-digit number, so any non-digit character. The same thing goes for backslash s. This matches any white space symbols. So, backslash capital letter s matches the inverse set of any non-white space symbols. And similarly, backslash w matches word characters, which is letters from a to z in uppercase and lowercase, digits from 0 to 9, and the underscore character. So, if you use backslash uppercase w, it will match every character except those characters. But without the u flag, you're still confined to just the BMP range. It won't respect astral code points at all. So, for this reason, if you try to use backslash capital letter s, which is supposed to match non-white space symbols, it will match all the non-white space symbols, like the letter a, for example. But it wouldn't match the tetragram symbol simply because that is an astral symbol, which counts as two individual symbols as far as JavaScript is concerned. So, again, we can fix this by just using the u flag and then backslash capital letter d, capital letter s, or capital letter w will match astral symbols as well. Now, it's important to note that the inverse counterparts, so the lowercase backslash d, s, and w, their behavior does not change when the u flag is used. So, there was a proposal once upon a time to make backslash d match even more digits, like all the digits defined in the Unicode standard when the u flag is enabled. But this proposal was rejected in favor of some other proposal that is still being fleshed out at the moment. Now, there's another really important gotcha here. So, there's this thing called case folding, which is basically the act of converting uppercase characters to lowercase characters, as defined by the Unicode standard. Unicode standard has lots of these big data files that provide these mappings from uppercase to lowercase symbols, not just from letters to from a to z, but for different scripts as well. So, when both the i flag for case insensitivity is enabled and the u flag for Unicode is set as well on the same regular expression, then all the symbols are implicitly case folded immediately before they are compared. And this is fairly useful in general, but it might also lead to some surprising results every now and then. So, this is yet another reason to not blindly add the u flag to your existing regular expressions. You should be really careful that you're not using anything like this. So, for example, here we're matching the characters from a to z in lowercase, but we're using the i flag to ignore the case, to make it case insensitive, so we will match the uppercase a to z as well. However, if we also add the u flag to this regular expression, the case folding logic kicks in, which means that now suddenly in ES6 with the u flag, this regular expression would also match the code point 017f, which wasn't matched before. The same thing goes for the code point 212a, which somehow canonicalizes to the capital letter k. Now, the case folding that I mentioned, it doesn't only apply to the symbols in the regular expression itself, it only applies to the symbols in the string to be matched as well. So, this can be fairly confusing as well. So, for example, if you try to match the code point 212a using both the case ignore flag and the unicode flag on the same regular expression, it will match the capital letter k, which is a completely different symbol, simply because it canonicalizes to the same symbol according to unicode. So, these things are a little bit unexpected, so it's just something you should keep in mind when you're switching your existing regular expressions over to use the u flag. So, this opt-in behavior is generally useful, but in some cases it can be really confusing. For example, by default, backslash capital letter w matches any non-word characters, so it matches anything that is not matched by backslash lowercase w. But when both the i flag and the u flag are enabled, the new unicode case folding logic kicks in and this has some consequences. For example, suddenly the capital letter k is now considered to be a non-word character, which doesn't make any sense at all. But this happens because the case folding is applied and the capital letter k case folds to the special code point 017f. So, really, this is some strange stuff, because when the i and the u flags are both enabled on the same regular expression, backslash capital letter w is no longer the inverse of backslash lowercase w. This is just another thing to watch out for. Don't blindly add the u flag to your existing regular expressions, just make sure you're not using backslash capital letter w first. Okay, so let's take a quick look at browser support for this new feature of the u flag. Okay, so Microsoft Edge has an implementation of this feature in their chakra engine and there's also an experimental implementation in v8 which is hidden behind the harmony unicode regex flag for now, so you can try that out if you want. Other browsers are working on this feature, but there's no ETA yet on when it will land exactly. So for now, if you want to use this feature, you kind of have to use a transpiler. And I have some good news for you, because I created one of those. I created a transpiler named regexpoo which transpiles ECMAScript 6 unicode aware regular expressions into equivalent regular expressions using ES5 only. So this enables you to start using the u flag today in a backwards compatible manner, because you can write your code pretending you live in the future and you're using the u flag in ES6, but the transpiler will combine it into equivalent ECMAScript 5 code that runs in all the browsers out there today. And for example, you may have noticed that the popular Babel and Google Tracer transpilers, they support the u flag for regular expressions as well. If you use one of those regular expressions, they will automatically translate it into the same regular expression without u flag. That is equivalent. And that is because they're using regexpoo internally. They use my transpiler as a dependency. And that's the reason this works. So the good news is, if you're already using one of these transpilers in your projects as part of your build process, you don't need to do anything. You can just start using this new feature today and enjoy the benefits. So just briefly, I would like to explain how regexpoo works internally. So first we start off with some JavaScript code, right? So the user writes code in ECMAScript 6. They might be using some other new features like arrow functions, generators, some new syntax, but they might also be using regular expressions with the u flag enabled. So the first thing we do is we take that JavaScript code and we parse it into an abstract syntax tree. And regexpoo uses the S3 map parser for this, but you can use any parser you like as long as it has equivalent outputs. Like for example, the acorn parser, if you prefer using that instead, that's fine. It will still work. The second step is to go through that abstract syntax tree. This is basically a JavaScript object that represents the JavaScript source code, but it makes it much easier to just walk through the tree rather than having to parse the JavaScript myself. So I just walk this tree looking for regular expressions that have the u flag enabled in this abstract syntax tree. Once I found one of these, I parsed that regular expression into a regular expression abstract syntax tree. So I need a different specific regular expression parser for this, and I decided to use the regjs parser project for that. This used to be an ECMAScript 5 JavaScript regular expression parser, but of course I wanted it to support ECMAScript 6, so I started contributing to the project. I added support for unicode code point escapes, I added support for the u flag, and then it was good enough to use in regxpoo. So once we have our abstract syntax tree that represents each and every part of the regular expression, it makes it really easy to look at each and every part individually and translate it in another way without having to use the u flag. So that is the next step that regxpoo does. That is basically the core functionality, and I'm using two separate tools that I wrote for this. The first one is called regenerate, and basically regenerate is a build script that allows you to easily create a regular expression that matches any number of symbols. So you can just give it an array of symbols or code points, and it will turn that into a regular expression that matches only those symbols. It's fairly powerful, and I'll show you another example of this later. I am also using the note unicode data packages. So the unicode standard has a lot of these data files. For example, it contains information on different categories or properties of characters. It contains information about different scripts. For example, if you want to get a list of all the characters in the unicode standard in the Kanada script, you can do that. Unicode database has separate data files for them, so you can parse those files and then use that data in your scripts. So I just wrote a small script that parses those data files and turns them into valid JavaScript arrays that you can directly use in your code. I'll show you an example of this in a second as well. So once we've translated this regular expression with the uflag to an equivalent regular expression without the uflag, it's time to update our regular expression abstract syntax tree. Once we've done that, we want to turn that regular expression abstract syntax tree back into a regular expression literal, back into a string basically, so that we can inject it back into the abstract syntax tree for the JavaScript code. And for this, I'm using the recast program. It makes it really easy to loop over abstract syntax trees and update them as you go along. And then finally, we have our updated JavaScript abstract syntax tree with the new regular expressions without the uflags. So all that's left is just transforming that back into JavaScript code. And this is also something that the recast program does. So that's basically how RigExpo works. Like I said, it's being used in both Tracer and Babel. So check it out and try to break it and let me know if you do manage to break it. Now, there are some things that the even ECMAScript 6 with the uflag cannot do natively. So for example, it's a very common use case to want to match a certain set of characters. For example, let's say you want to create a regular expression that matches all the canada symbols. There is no built-in way in the JavaScript language jets to directly use these unicode properties in your code. For example, the Perl regular expression library has a feature like this. You can just use backslash p and then you directly use these scripts and properties in your regular expressions. But because JavaScript doesn't have this yet, I'm actually working on a proposal to add this. But for now, we're stuck with using a solution like this. So you can use regenerates. The library I talked about earlier. You can combine that with the unicode data packages that I mentioned as well. So in this case on the second line, I'm just getting an array of all the symbols in the canada script according to unicode version 6.3.0. And then I'm simply feeding that array into regenerates, which then turns that list of symbols into a regular expression that only matches those symbols. So effectively, this is a regular expression that only matches the canada symbols. Now imagine having to write such a regular expression by hand. It would probably be a very tedious and painful task. And also imagine what would happen if you have to update this regular expression. There is a new version of unicode being released every year. And sometimes it happens that new characters are added to an existing script. In fact, the latest available unicode version is version 8. So let's imagine we have to update our regular expression to version 8. If we had to do this manually without having this small build script of four lines, it would be really painful to do that. However, now that we have this small script, all we need to do is just update the version number to version 8, run the script again, and just like that, we have an up-to-date regular expression compatible with the latest version of the unicode standard. So in summary, I would say use the u flag for every regular expression you write for now on. Use it whenever you can. But at the same time, don't blindly go back to your old existing regular expressions and just add the u flag everywhere because you might accidentally change their meaning and break your code. So be sure to carefully review each and every regular expression before you do this. Also, you should really use a transpiler because otherwise your code will not work in most browsers today. And of course, you want code that runs everywhere. The good news here is that Babel and Tracer already support transpilation of this feature thanks to RegExpo so you can just already start using this. And then finally, for anything the u flag cannot do yet, just use a tool like regenerate, write a small simple very little build script and just run it to generate these very complex but unicode aware regular expressions. Whenever you need a regular expression based on some unicode category or property or script, you should just write a simple script that uses regenerate to build it. So that's it. Thank you for your attention. Everything I talked about is also you can be found at that link. It's a blog post. Thanks for your attention. Looks like I'm a bit ahead of schedule. So if there's any questions, I'll be happy to answer those now. Hey, Matt. Yes, here. Yeah. Hi. What's your favorite and unicode character and what's the unicode character you hate the most as in it caused you a lot of trouble to rewrite your code? Well, my favorite example of a unicode character is probably the pile of food because it's so popular and everyone immediately recognizes it. Like if you give a presentation and you try to preach for a unicode support everywhere, no one really cares. But as soon as you start mentioning emoji and piles of food and everyone wants to support that and they want to update their databases, they want to write their code and update their fixes and stuff. So really emoji is like a gateway drug to full emoji full unicode support. I think what was your second question again? Which is the unicode character that troubled you the most? Huh.  I guess like I have a custom keyboard layout so I can easily type the pile of food character without having to copy paste it. So I like to enter that in, you know, whenever I'm testing an open source project or whatever. So that way I do find a lot of bucks. So I guess you could say it's the pile of food once again. Yeah. Thank you. Hey man, this is Ashwini Shankar. I have a question here. So if I try to build a regular expression to just remove all the numbers out of a string, how do I handle all the unicode characters? Because numbers may not be same as in English in any other unicode characters. Is there a way that I can handle in one way that I can handle to every other unicode characters? Yeah, that's a very good question. Let me just go back to one of the previous examples. Like you would have to write a script for now, similar to this one, where instead of reading out all the symbols in the Kanada script, you would have to look for the digits property in unicode. And yeah, basically the rest of the script would be the same. So it's a huge list of all the unicode digits in different scripts. You would get it automatically in just one line of code. You feed it into regenerate, and then it turns it into a regular expression. And I've actually created this regular expression before when I was working on the proposal to make backslash d, match d symbols as well. The proposal was rejected. But I can tell you the regular expression is a bit bigger than this one. It's like it would fill up the whole slide. But that's what it takes to support full unicode, I guess. Sure. That helps. Thanks for this. Yeah. Cheers. Hello. I have a question. Like you said, we can use U flag over there. It won't slow down the state machine. Like I have a number of characters over there, and it convert every character into the unicode, then it would match or unicode. So like I have a last character in unicode. Why should I write class U for entire code, entire regex string? Are you asking about performance? If it slows it down? Yeah. I haven't had time to benchmark the edge implementation yet. I've done a little bit of work with the V8 implementation. I did some reviews there. And of course, there's going to be a certain performance impact to more characters you're trying to match. The slower it's going to be. But historically, lots of the existing browser benchmarks that JavaScript implementations are based on, they're really strongly tested for regular expression performance. Like I have read the article of Travis Norris. He said, why should I convert the character in unicode? We can use the normal literal representation or accept the unicode. It slows down the performance. So in that case, I think it will slow down. I'm not sure about this. Yeah. Well, it's always going to be a little bit slower, I guess. But in my opinion, you really don't have a choice. Like if you're working on a web application, you want to support all kinds of symbols, not just the BMP symbols, because sooner or later, one of your users will enter an emoji or another astral symbol, and you probably don't want your code to break in that case. So I think performance is important and it's good that you consider it. But it should be more important to have an actual functional web app, in my opinion. Okay. Thanks. Thank you. Hey, Mitha. So I have a question where you talked about the abstract syntax tree for a regular expression. So I'm not really very sure. So do you only take the regular expressions and make abstract syntax tree or the entire source code goes through that in the code generation phase? You just replace those rejects with whatever you have come up with in the regenerate. Yeah. Yeah. So actually, yeah. So you're familiar with as Prima, which is a JavaScript parser. It takes any JavaScript code and parses that.  So if you want to look at the individual parts of the regular expression, you want to check which ranges are in there, which character classes, things like that. It's really hard. So what you need to do is you need to take that string out of that syntax tree and then parse it as if it was a regular expression. So it takes a specialized parser that is not part of a Prima to do this. And this is the rag.js parser project that I mentioned does exactly that. Yeah. Regarding Unicode, we are having many polyfill libraries like Unicode.js and CSS escape. So they are purely JavaScript libraries, but we are going, now we are headed to transpiled libraries, transpiled solutions. So as we move on Unicode, the support to support it, where the effort is getting harder. So is it, do you feel that this is the only direction that we have? Yeah, that's a good question. Yeah, for me, it's very interesting to see that the more that the language evolves, the less third-party libraries will be needing. So we can get rid of more and more code over the years. Like the code you write today in ES6 using the U flag or even using other features, today are transpilers. They translate that into other code that the existing browsers can support. But imagine, you know, the exact same code five years from now, it won't have to be transpiled as much anymore because all the browsers across the board will just support that many more features. So in that sense, it really feels good to be able to just don't think about browser support for a second and just write your code based on the standard, based on the specification, and just know that the transpiler will take care of everything else for you. Does that answer your question? Yes, sure. Yeah, thank you. Okay, so you were talking mostly in terms of code points. How about that representation of string in JavaScript? I don't know. So when things come in, comes in as UTF-8 most of the time. So internally, does it convert into UTF-32 or what kind of? Are you asking about the internal encoding that JavaScript is using? Yes. Yeah, yeah. So what JavaScript is doing internally, it really strongly resembles UTF-16 if you're familiar with that. So UTF-16, it uses two bytes to encode any BMP symbol. But for any astral symbols, it requires four bytes, so twice as many. And that's pretty much what you see happening in JavaScript internally. The problem is that it kind of exposes these surrogate halves as if they were separate characters, which it really, it should be an implementation detail that is never exposed to developers. But historically, this is the way it has been, and we cannot change it now because it would break a lot of existing code. So my understanding is it is sounding similar to Java. Say let's say I send some data from the server, and I say this is UTF-8 encoded, multi byte encoding. And it comes in. Will the JavaScript engine converts the characters coming in as UTF-8 to UTF-16? No, JavaScript does not have built-in encoding functions. In the DOM, there is an API called the text encoder API. So you can use that in a browser to do this kind of thing. But yeah, basically it's just the source code, the JavaScript source code itself is represented as UTF-16 internally. And sometimes if you're looking at a string or getting the length of a string, or iterating over characters in a string, that kind of implementation detail kind of bleeds through, which is a shame. Hi. I just want to make sure if I'm transpiling, so will there be any effect on the 16th and 15th plane private use area? I'm sorry, can you repeat the question? If I'm using some characters in the 15th and 16th plane private user area. Yeah, in JavaScript strings, you can, it's fine, or in regular expressions, it's fine to just use any character at all, including the ones in the private use areas in Unicode. So you could create a regular expression, for example, that matches only those private use area code points. It would work perfectly fine. Thanks so much. Cheers. In fact, in JavaScript, you can even, like, surrogate pairs. So you have these two surrogate halves, and they should only ever occur in pairs. There should never be a surrogate that just exists on its own. And this is actually invalid in UTF-8, for example. But for some reason, in JavaScript strings, it is still allowed to have these lone surrogates occurring in strings. And this also causes a lot of issues, especially security issues, because if you, so you have this string containing a lone surrogate, and you can represent it in JavaScript, but as soon as you try to insert it into a database that uses UTF-8 encoding, or you're trying to send it to some other kind of parser that uses UTF-8, it will just crash and it might break your application. And I've actually seen some real-world examples of this. I actually have a separate presentation about the security aspects of Unicode support. So check that out if you're into it. It's called Hacking with Unicode. Yeah. It's fairly amazing what you can do with just a lone surrogate or a pile of poo. You can actually hack websites with that, believe it or not. All right. Thank you, Mathias. Thanks.


Climate change will be one of the most significant shapers of human mobility in the next decades. On the occasion of the IMRF, IOM pledges to address migration and displacement in the context of disasters, the adverse effects of climate change and environmental degradation. To achieve this, the organization will be looking at implementing the institutional strategy on migration, environment and climate change 2021-2030. The organization will further promote policy coherence and inclusive partnerships to mainstream the inclusion of migration, displacement considerations in climate change, environmental degradation and disasters and other relevant agendas. We will support states and other actors to develop rights-based migration policies and practices that integrate issues of climate change, environmental degradation and disasters. IOM will strengthen the production, analysis and dissemination of relevant data and knowledge and will operationalize responses to migration and displacement in the context of environmental degradation, climate change and disasters across the humanitarian development peace nexus.


Good afternoon, we are starting our fourth panel. And the host of this panel is Professor Rafał Reguła. Rafał, please, floor is yours. Thank you very much. I hope, welcome everyone. I hope that after lunch the spirits are elevated. We've got plenty of strength to further explore these interesting topics. I am really greatly honoured to have the opportunity to moderate or host this panel. Our panel is entitled Affected Groups, the Perspectives of Groups Under Stress. And we have today three distinguished guest speakers who agreed to share with us their knowledge about fake news and their consequences for individuals. Our first speaker is Professor Maciej Pilecki, who is working at the Department of Child and Adolescent Psychiatry at the Aguilada University Medical College here in Kraków. And he will give us a talk entitled COVID-19 in the Seek of Facts. Welcome, Professor Pilecki, and the screen is yours. Thank you very much. So, give a moment, I'll start the presentation. Could you see the presentation? Yes. Yeah, OK. So thank you very much for inviting me for this meeting. And actually, this is not a topic of my scientific interest, but the question of misinformation, facts, and the consequences of the misinformation on everyday physician and psychiatrist's work becomes more and more important, especially during the COVID-19 pandemic. The COVID-19 pandemic is a substantial global challenge. And what's very characteristic for this type of medical problems is that the decision of a single person can influence a life of a big population, or almost the whole population, because all pandemics would start with a patient zero. So the very patient that started the problem, and then you can observe how, very often, regarding to the decision of single humans, the virus can spread or bacteria can spread. The misinformation could be an important problem then, because people can turn to look forward in the ineffective remedies, so that they are mislead and that they are receiving the guidance that something is going to help that actually is not going to help. That some of the remedies could be potentially harmful or danger, that they can overact, but also that they can underact. So all these issues would be due to the misinformation and would be due to lack of proper knowledge regarding the problems asked that COVID-19 pandemic is. And this seems to be a rather huge problem, because it seems that it is the research about the YouTube videos where 25 of them, and there were top videos about the COVID-19, they had some misleading information, and there had been 62 million reviewers worldwide. So it shows how the lack of a proper information or the misinformation could be harmful and dangerous for the population, not exactly of one country, but internationally. The research about what the consequences of lack of a proper or false information are, gives three areas that we have to be aware of. First one is that people that are under the influence of misinformation cannot want to vaccinate against COVID-19, that they will not recommend other to vaccinate, and what is especially important nowadays, they are not willing to comply or it decreased the willingness to comply with some guidance measures. So these are the three areas that what we find in the research would be important due to the misinformation that people are challenged with. And this is an example of misinformation on two levels, because first of all, I will show you what Donald Trump really said, but what is written here is close to his words, but there is not exactly Donald Trump willing people to drink Clorox, and it is always the question, is this kind of the meme only a kind of funny comment to his words, or is it the information that people can use and can misunderstand? We are not going to go through the detailed description of what Donald Trump said on the 23rd, but it was rather his question, that recommendation, that people should use the substances like Clorox to deal with the SARS-CoV-2 infection. But as you can see, this is the USA Google Trends, that a few days after his talk about that issue, the questions about the use of disinfectants started to rapidly increase, and there were some risky behaviors of not very, it was the single cases, but it showed us how the misinformation can go around the world, go around one country. We don't have time to speak about that, but when we have an issue of medical populism, due to what politicians are doing, there are four areas, this is the simplification of pandemic, dramatization of the crisis, in contrary to the simplification, forging of divisions, we know it's also from our country. And what Trump did and what correlates with the three-thirds dimensions is invocation of knowledge claims that has some political reasons. Who believes in fake news regarding the COVID-19 pandemic? Older citizens, people who are self-reported, they come from minorities, they have repeated exposure to fake news, the feeling of deprivation, lower trust in science and scientists, lower trust in journalists, lower trust in government and conservatism in political beliefs. Well, we have some kind of a hopeful thinking that education can lead to the... can challenge the acceptance or believing in misinformation, but it is questionable. Even if it is a matter of life or death, as it is in the COVID-19 pandemic. So, there is an idea of inoculation against fake news, like we have a medical inoculation, but there are some reasons why we can have doubt if it is really possible to do this kind of fake news inoculation. In study about the agreement with aphorisms, and these aphorisms were having without the source attribution, it is quite high that people accept from a very difficult different group. They accept or they agree with aphorism if they don't know who is the author of the aphorism. But when the author of the aphorism is someone they don't agree or they don't believe in, they don't really want, they don't really agree with the aphorism, and then their education has nothing to do this with that, and that these beliefs are quite often part of our social identity, and that the social identity that we choose the leaders that express our aggression, not that the leaders who express aggressions have our submissive behaviors. So, it was an old Chinese book about, and this is a sentence from this book, is the truth from facts, and the question is that if many thousand years later we are in the sea of facts, not the truth. So, in a situation of regression we are looking for the miracle cures, we are looking for the gifted physicians, we even sometimes think about the physicians like almost gods, or the health workers are like being as a god, someone very powerful because it could reduce our anxiety. But the question is what about the healthcare professionals and their beliefs in a false knowledge or false information. This is an important issue due to the COVID-19 pandemic, because we had been challenged with many informations that they were giving kind of opposite data, and that it had been in a kind of a court-tradictory informations in the scientific journals. This is an example on March 14th, French Health Minister Olivier Verrand tweeted that talking anti-inflammatory drugs, for instance ibuprofen, could be risky for the patients having the COVID-19 infection, and in within 24 hours over 43,000 people retweeted this advice. It was also an opinion from the World Health Organization leader, one of the leaders, Christian Liedemar, about that. In 24 hours the authorities recognized that it seems to be not exactly true information, that it is based only on a single letter published online in the Lancet on March 11th, not giving any research data, but rather the opinion of the authors about the reaction between the ibuprofen and the increased expression of AC2 and facilitation of COVID-19 infection. And here you have the Google Waves in France, then in Poland, and probably being kind of a master in collecting or taking this data and changing this data into the graphic expression, that we can create the wave, the Google Wave through all the world, regarding the question, coronavirus ibuprofen, and we can see how this information can go all around the world. So a little bit about my department and the fake news issue that we deal with and the ways that we decided to challenge this problem, that at the beginning of the first wave of the pandemic, we were transferred into a COVID-19 unit for the psychiatric patients, and one of the very important changes that we made into our functioning was that we started to have the team that was collecting, updating, research-based knowledge and guidelines about the COVID-19, and an important part of these reports is in Polish, because I'm not going to go into details with that. It is all kind of an example of work of our colleagues, Dr. Marcin Siewek and Tim, that the important part of that report was information about data that we can trust, the information that we can trust, and for us it was something very important that there was someone who was a group of people who were searching, finding an exact sources, finding the information that we can rely on, and that it can reduce the level of our attention, or regarding, for instance, our fear that we are going to die and how risky it is to work with the COVID-19 patients. We had nine reports that had been made on a weekly basis, changing also the information that had been in a prior reports, updating them and updating our knowledge. So, what have you done to find the first news? I decided to end my presentation with my personal fight, and as you know, usually when we have the conference presentation about the drugs, it is a conflict of interest disclosure, and what I decided to do was to do the risk of misinformation disclosure in this presentation. And first of all, I'm not sure if on slide three information is taken from Pennycock paper or Rosenbeck paper. I miss it at the very beginning, and well, then I base off my memory, not double check in the internet. Secondly, the information about the book of Chan was taken from Wikipedia, and the translation of the title of my presentation into English and Chinese was done by the Google translator, and what makes me a little bit afraid about that is that I haven't found a similar title in the internet. So, it means that it is probably brilliant, and this is something that no one else think to do, or it is not very British English. So, thank you very much. Thank you very much. Thank you, Prostate Pilatki. It is really, really, really pleasure to listen to this talk. A lot of interesting information. I believe we have two questions from our listeners, and one is how we can distinguish between fake and true information regarding COVID-19 pandemic. Is there any clue how average person could distinguish what is true and what is untrue? I think this is very difficult, but we have to base on scientific newspapers, but then we have to be aware that it is the opinion of experts, that there is a single case, that there is research, that this is a meta-analysis, and what we have to be aware of is that there are very big differences between the reliability of the sources. So, at the very beginning of the pandemic, that was the idea that the adolescents, they are not going to spread the virus, and then what we learned from our experience was that it is not true, but it was the experts' opinion that probably they are not going to... that this is not going to be the important issue. So, double-check what is the source. Then, in three-week times, check if it is still something that you have to believe in, and don't trust that something, or don't relay all the data that was collected and that the knowledge you get one month ago, you have to change, you have to be very clear and involved in that. But if this is a newspaper knowledge, well, it is better not to use it as a source of important information. Because what you said is a scientific method of distinguishing between what is fake news and what could be true, but do you think is there any single queue which just the average person, not scientist, someone who does not have access to, you know, a specialist medical databases, could do on the first sight? Yeah, you can find... in Internet, you can find blogs of physicians that you can find people who are... well, they are scientists. And this would be the important source of information, but then you have to have your critical mind and you have to have also information from different sources to see what are the differences, what are the points of view of different experts. This is the only solution we can have. Probably not only due to the COVID-19, but probably due to the all data, all information we are getting. Yeah, okay, thank you. We've got the second question. Oh, even the third question. Let's start from the last one. From your last slide, we see that there was a serious lapses in communication about COVID from experts possibly adversely affecting public policy. How can we recover from this seeking generalizations leading to mistrust in scientific community? This is the issue, but you know that I noticed something that was due to the single information, but important person. But what is the most dangerous thing I think is the interaction between science and politics. We see it in chloroquine issue, that there were some single studies about the chloroquine use. And then due to the politic medical populism, they were used by politicians to do what the politicians usually do, so to try to control people. So I don't think that it is the question of the trust and the lack of the trust. It is the question of asking questions and looking for the answers, but also having this what is characteristic for the scientists. So the answer is not the true. The answer is the answer. So I don't think that it is kind of a possibility of being back into the world of harmony and having the trust. This is a complicated word with a lot of conflicts and also a conflict of interests. Okay, thank you very much. We've got one more question. I believe this addresses your psychiatric background. Do you think that there is the susceptibility to fake news can be somehow associated with some sort of psychiatric disorders? Yeah, this is the question. The question was whether people who believe in fake news are somehow mentally disordered. Can we make such a generalization or find some overlap between vulnerability to fake news and some sort of... No, I don't think so. And this is the way of thinking we had in the 50s that there are the people who are willing to be controlled and there are people who are regressed and then this aggressive leader that is taking control towards them. It comes from at least Miller's bad education about the Hitler and the people who followed them. But what we know now is that the people who want to have the conflict with other group of the people by choosing the leader that is... that prove them that their aggressive behaviors are not going to be stopped and that are going to be effective. And I am afraid that the fake news are the weapon, not the mental illness. And we know it from Poland. We know it from Poland because we know that... Well, I'm not going to be very into the politics issues, but we know that when there is kind of a strong belief the people who has this belief they don't want data that will challenge the way they think. And partly it is because the emotional attitudes but partly it is cynical. I think that the fake news and medicine would be the same. Thank you very much. I think we should go forward if there are any more questions maybe if you stay with us we can discuss. And so thank you again. And now I would like to welcome Dr. Katarzyna Bonkowicz who is affiliated with the University of Social Sciences and Humanities in Warsaw. And she will tell us a fascinating story about Blue Whale Game. Her talk is entitled Fake News, Real Consequences the Blue Whale Game Study. Dr. Bonkowicz the screen is yours, please. Thank you. Good morning, ladies and gentlemen. Thank you for invitation. Yes, the story about Blue Whale Game. Okay, so maybe at first maybe at first my presentation. Just a moment. Okay. Okay, so a few words of introduction because the real consequences the consequences of fake news are the part of my study about Blue Whale Game and there was very big studies from two years and there was about fake news as a phenomenon in 21st century. So today about about consequences, but the first point, the important point is the birth of the Blue Whale Game because the whole story began on March 2016 in Russia, of course, when Galina Mursaev in Novoaia Gazeta was published her article about suicide to teenagers. It was the title of this article of suicide groups and she in this article describe in details two suicides and everything will be okay but an author connect these two suicides with 130 others suicides and the one and only key and the common point was the fact that every victims every 130 person has a profile of contactive platform. Contactive platform is something like Facebook, Russian Facebook with the 90 million users so it's not so not so small. And Galina Mursaev said in this article that the problem of these victims and the common point was the Blue Whale Game and she said the Blue Whale Game is a game in the internet and you log in on the sites and you have to do many things and the last thing is suicide. Next day after this publication a lot of media around the world has a question what is the problem what is the Blue Whale Game how do you find every victims 130 in Russia and in the same time after publication Vice Editor-in-Chief was fired to the use of unacceptable methods of verifying information but the media panic started and it's a very important fact here in this moment that in the 2016 World Media and the government institution in many countries confirmed the story is fake. So after a journalist investigation and the government process said the story is fake in 2016 too was arrested Philip Budeikin he reported to the police himself and said that he is an author of this game now he is in prison in Russia but only from encouraging to commit suicide two teenagers from one article and not two teenagers from 130 others in article but the story was beginning what is the true story the true story is that there is a game called the Whale and still is this game and this game is only on smartphones or tablets not on the desktop and this is a game on the website of French producer of Echo Apples and this is not fake and this is not a joke and the goal and the game is that you are the blue whale you have a basket of your head basket with fruits and you have to overcome distance so this is a very simple game to small kids and the second fact is there are suicide groups on the internet which inside you to commit suicide on the full legal internet we have without problems find web pages with information about techniques and tools to commit suicide and the fake news in this blue whale game story it's connect two different unrelated facts we have to remember that fake news there is not the same so false news sometimes in translation we have two words fake news or false news but this is not the same we have to remember about the typology she gave us seven types of fake news between satire and lying and fake news is in the middle of that so the lying is not the same like fake news and in this case fake news there are connect two real two different facts methodology of my studies was I researched media materials from 30 countries around the world and this was a media in all four types so press, radio, television and internet and I researched the content of media materials and visual components see how media presented the topic today my speech I researched what were the reaction to the publication in all countries and I would like to explain about this reaction and these consequences results so these consequences were in 21 countries Saudi Arabia, Bangladesh, Bulgaria, Egypt, Ecuador, France, Greece, Honduras, Iran, India Ireland, Canada, Kazakhstan, Kenya, Mexico, Mongolia, Malaysia, Moldova, Portugal, Russia and USA 21 from 30 I think it's a it's a big number I divide the consequences into two types and the one the most important fact here I would like to say that this conclusion from this study is the fact that in one material in one from the 30 countries materials was information that fake news that Blue Eyed Game is fake news this is one material from Austria in any countries in any materials we haven't this information and I think that a lot of materials still are in the internet we can find them so I divided the consequences into two types first are the consequences on the educational system in the second on government institution in my opinion these consequences from education side are positive because in five countries Bulgaria, India, Ireland, Honduras and Canada we had a preventive medic in school with students and parents we had educational campaigns about online threats so these consequences are the positive because they play a preventive role and now in the 21st century if we have a chaos of information if we have too many fake news and we have a problem to check information verifying information so every campaigns are good and every meetings with students and parents and the people about knowledge and the tools against this information are positive but the results the consequences from government government's institution are not so optimistic so in 18 countries we have a very, very real life consequences very serious consequences a lot of that was in nine countries that are police actions and here we had two types of Polish actions so our prevention and the investigations and that was a similar like in educational consequences because this prevention that are meetings with people about the possibilities dangerous and warning in internet but initiation from this meeting was not from school like in the other consequences of government's institution from police and the second was an investigation every situation around suicide second popular consequences that we can speak about it were in four countries were creating a department for fighting for fighting cybercrime and helping the victims we're still in this positive space of consequences because helping the victims is still we need this institution and department for fighting cybercrime too and everything will be okay but we have to remember about one fact every consequences are only after media materials publication not after analysis consultation or something like that not only after media publication in two countries in Kazakhstan and in Moldova we had an extraordinary government meetings only of the topic of blow whale game and possibilities dangerous from this situation and I think that we have to see and we have to think about about one type of this government's consequences there is from the Bangladesh it's slowing down internet speeds during the night between 9 p.m. and 6 a.m. internet speeds was in Bangladesh so in this moment I think for example about journalists who have to prepare news to the next day maybe we need some information without full speed internet it is impossible so after media materials only about maybe it's a blow whale game maybe it's dangerous it's slowing down internet speeds in one country in Russia was the plans in media articles we can read about the plans of using army the army against suicide groups on the internet we don't know its continuation of this or not but the plans were one country in Saudi Arabia was launching services that were to limit access to the game and this is very funny I think because which game so if we haven't blow whale game this blow whale game this dangerous blow whale game so which game we were to limit access in the second in one country in Egypt was the official government appeal to the ministry of communication to block access to online game games we have to remember that online games now in 21st century are a big part of a branch of online business on computer business internet business yeah so block access to online games is a very big problem to this to this part of this business in one country in Ecuador we had a request to Interpol in helping to prosecute game administrators we know that we haven't game administrator but in Russia university I don't remember name of professor made a study about blue whale game administrator and he said the results was were administrators but after media materials to so not before not when the blue whale game was born when the when this topic was started when fake news was born so after media publication is blue whale game and are we can find this administrator in online and very very important thing that every administrator was in the 10 12 years old yeah so I think very very young people in one country in Iran was a blocking access to contact the platform we have to remember that 90 million users without possibility communicate in Iran after media materials and which conclusions we have after after this the situation when we when we are listening on writing about about fake news about blue whale game I think that we have to remember that fake news where are and will exist and blue whale game case show us that fake news it's very simple to prepare it's very simple to distribute and it's real warning to all of us as a society modern as a society and we have to remember that the consequences are very serious and we have to remember that we as a user of users of social media we participate in distribution process if we haven't awareness about online about cyber crime and about fake news we need to know knowledge we need to tools to verify information and we have to start thinking before yeah for example a study from I suppose it from MIT but I don't remember clearly is a study about do you remember from where you share an article of your social media and send users don't remember from where are articles on my wall for example on Facebook so I think that this is dangerous because this is a simple way to distribute fake news like for example blue whale game so I think that we we can't stop fake news but we can limit the impact of fake news we have to build awareness of media we need to still observe and educate us and react what if I see a fake news and so I have here my of course only my proposition that if we gave a tools from journalists from media and for us for society we can limit fake news society impact media needs standards of verifying information media needs a more important task about ethics and media needs tools to checking process now we have to remember that inside in the newsrooms in redaction we have a conflict without conflict between ethics and economy and the journalists are in the middle and they have preparing and media materials without ethics or without economy side and they have still problem with that and we need a society education campaign knowledge about this information took tools to checking information now okay we are speaking about okay check information in two places but where we need concrete knowledge is a good source this is BBC or maybe polish public television which source is good which source is gave us true and of course we have to start discussion about responsibility because I think that not this responsibility of fake news is not in only media and not in social media I think this responsibility is in the middle because we have to think that lying it's more better for our brain for our mind it's more interesting and we have to give people knowledge about true and false and fake news and speak about it and now is discussion in the public discourse is about what can we do about fake news and I ask what can we do before we prepare to fake news because if we have fake news of course we can delay it or not we can share or not but this fake news is and I ask what can we do before preparing fake news process and I am waiting for a question Thank you very much, this was fascinating story we've got actually several questions from our listeners and the first is from the person who just needs some clarification the first news about the blue whale game and its suicidal consequences were actually fake and it got spread worldwide and in the consequence there appeared a real dangerous game is it true? The first game was just fake news but then it became somehow the real thing Is this a question here on chat so where is which one is that because I don't see how popular is this game to clarify to clarify, okay, okay, okay, I see okay so the one moment the first information about the blue whale game the first publication from Galina Morsayev was a that was a true but in the other place so because Galina Morsayev said that two suicides had to connect with 130 others and the common point is it's a blue whale game I think that popular, the blue whale game was very popular because that was very interesting topic and this topic was interesting for everyone because it's about life and death, about the teenagers so everybody knows teenagers so it's if we have a fake news about the politics we have, okay, politics is I'm not interested in politics, politics is not my hobby and life and death is a hobby of all of us so we have to and if it's a life and death topic connect with internet it's a perfect recipe to success really, of course ironic, is having a consequence has been drawn from the fake news about the game I don't think so if we can still in internet find the old article from 2016 for 2017-18 but we have an article from 2017-18 if I could remember from July on this year what is a blue whale game, is it dangerous or not so on the question can a similar story repeat itself I think, yeah and I think that in blue whale game is a very important signal, be careful because the fake news, it's a real problem for you I think that this is the most important consequences for us okay we can spend more questions, so shall I moderate it or you would prefer to go? you can moderate it, it's okay I believe that the next question was asked when you presented the measures taken by different countries to limit the impact of the game and the question is what is the methodology of linking those consequences to the original stimuli were they directly quoted in public policy documents one moment I'll find that and this I research only media materials and I don't speak here in my speech but my study was in 30 countries around the world and Polish media and I had that of course in the 30 countries was not so in details research because of course there's other languages okay if that was for example English language or European languages okay but for example Chinese or something like this was a little different but for example in Polish space what was information about blue whale game from the minister of education to every schools in Poland with communicate be careful we have a big danger in the internet and this is a blue whale game and this letter was sent 2017 on March so one year after the blue whale game was born and the half after that we knew that the blue whale game is fake news and very often in the materials from around the world was parts from original government documents because there are for example sometimes interviews with minister interviews with someone else okay thank you very much I believe there is a follow up given the answer are you not risking the fallacy of mistaking correlation for causation oh hmm I don't think so because I researched research connection between media and society so if our minister minister of education or other minister said after media publication he made a decision so I think this is a very serious signal yeah and that was very important that a lot of materials what was from the not from the tabloids very seriously very seriously media and the first information of course about blue whale game was in the sun and the daily mail but if I can remember on 2017 one information about blue whale game as a fake news was on BBC the second material from the beginning 2019 was a very big material very big reportage about how we believe about blue whale game but this is very interesting that every media believe on that because that was that was like true you know that in internet we have a very dangerous parts and very dangerous websites in internet yes so that was like true I believe we have time for just one question and three minutes to answer can we hypothesize that some of those policy changes were really harvesting the media attention to provide a pretence to implement changes that were motivated by other factors so did the governments introduce this to introduce some other changes I think that of course we can hypothesize size but ok if we are thinking when I researched case from Russia I was so exciting because you know this is a place where born this big situation it was very interesting that of course it was the one and only place that we have plans to use the army against against the blue whale game and I think that this case will be only to provide pretence and something like that but other I don't think so that was a feeling of dangerous feeling of warning and I think that people from government was scared if I remember in Egypt was a situation that the son of minister commits suicide and in this time so this minister said ok this is my child this is true so I think that was maybe not so long but a time for scared of everybody I'm afraid we have to stop here it's really pity maybe there will be a chance to answer some more questions later on maybe to the comments associated with the YouTube transmission I would like to thank all our distinguished guests for being here with us today it was really fascinating for me it was pure pleasure to moderate this session and I would like to ask now Jan Piasecki who wanted to say something at the end of our session so thank you again for your presence for excellent talks and for all the food for fault and now I would like to ask Jan to take the screen thank you very much again thank you, thank you very much because this is our last English session so I just wanted to take this opportunity to say goodbye to our all English only speaking viewers and everyone of course who speaks Polish in the next Polish session and I also thank all our speakers and all our moderators session moderators and the questions moderators I want to particularly thankful and grateful and I want to express these feelings towards free persons and therefore I want to thank Mr Kamil Mikulski from the Kosciuszko Institute who helped us especially at the conception with the conception of this of this conference, thank you and the second person that I would like to thank is Mr Aleksander Kulesza-Milewski who is the owner of the ECCT platform who share with us this platform free of charge and who was also our technical support during this conference with Zoom and so on and I also want to thank Miss Agnieszka Lempart who is our administrative manager and let's say her organizational skills were really instrumental for this event so without her probably we wouldn't be able to organize this event so thank you once again and we see each other in around 10 minutes on the Polish session so bye-bye thank you very much bye thank you bye


The reason for me to start delivering the provincial of sexual exploitation and abuse training goes back a long way. I started working in a refugee camp in a European country back in the early 80s. I was a young fellow back then, but immediately understood that there was a lot of sexual exploitation and abuse going on in the camp. Between the different people working in the camp and the refugees and also between the refugees themselves. It was truly horrific, especially for the young single ladies who bore much of the brunt of the sexual exploitation and abuse. Back then we did not have the luxury of the PSCA training or awareness. It was left to the good upbringing of the individuals. I spoke openly to the camp authorities, but to no avail, until the refugees themselves rebelled because of the abuses and the perpetrators were transferred out. So, when finally the UN woke up to the sea matter and the PSCA training came through, I immediately jumped on the bandwagon and delivered the training myself because of my past first-hand experience and therefore a full understanding of the negative effects of sea on all. By delivering the PSCA course, I cascaded the zero-tolerance message to my colleagues as a staff member, but also as a chief omission who wants to protect colleagues from doing harm to others and also doing harm to themselves. The reaction of the staff in the missions where I have been chief omission and done the PSCA trainings has always been that if the chief omission himself makes time to do this, it must be really important for the mission and the organisation. That is exactly the message that comes across and for that reason I continue to do this. To conclude, colleagues, I would like to appeal to my chief omission colleagues. I know that many of you are already doing this as well and my utmost respect goes to them for doing their PSCA trainings to the colleagues. I also know that chief omissions are very busy, just like other staff members and may have difficulties in doing this themselves, but let me also say that this is a priority, so let's be busy doing what is needed. And one of the many things needed is to be upfront in making time for the PSCA training. If not the full training, at least be therefore part of it to show the importance of eradicating C at all levels. In short, zero tolerance. Thank you.