WEBVTT 00:00.000 --> 00:10.000 I'm going to get started with the next slide that you have at the same speaker. 00:10.000 --> 00:16.000 So, I realize that I have anyone to submit a microphone talk. 00:16.000 --> 00:17.000 Probably. 00:17.000 --> 00:18.000 Yeah. 00:18.000 --> 00:21.000 So, it's supposed to be a light subject. 00:21.000 --> 00:22.000 So, I change my class. 00:22.000 --> 00:24.000 I'm doing a with the employee. 00:24.000 --> 00:25.000 I mean, which I'm going to study. 00:25.000 --> 00:28.000 It has nothing to do with my professional work. 00:28.000 --> 00:31.000 But I hope to be entertaining. 00:31.000 --> 00:36.000 And so, the topic is flunger and wasm. 00:36.000 --> 00:38.000 It can live together. 00:38.000 --> 00:41.000 And there is a review. 00:41.000 --> 00:45.000 Some people, the reviewer, has, I failed to see the link. 00:45.000 --> 00:48.000 Which gave me an idea about how to structure my slide. 00:48.000 --> 00:50.000 But I need to play a game. 00:50.000 --> 00:53.000 And the game is, you know, I say, I say the word. 00:53.000 --> 00:55.000 And then from that word, you guess another word. 00:55.000 --> 01:00.000 And so, let's see how many hops you will be able to do from Fortran. 01:00.000 --> 01:02.000 Two of them. 01:02.000 --> 01:04.000 So, let's begin. 01:04.000 --> 01:05.000 Okay. 01:05.000 --> 01:06.000 We start with Flang here. 01:06.000 --> 01:10.000 And when you speak about Flang, you speak about Fortran. 01:10.000 --> 01:11.000 Of course. 01:11.000 --> 01:12.000 Nice to go. 01:12.000 --> 01:13.000 Fortran. 01:13.000 --> 01:15.000 Now, when you are Fortran in mind. 01:15.000 --> 01:17.000 What can you think about? 01:17.000 --> 01:18.000 Fortran is, of course. 01:18.000 --> 01:19.000 You hold. 01:19.000 --> 01:20.000 No, no, no. 01:20.000 --> 01:22.000 Of course, Fortran is old. 01:22.000 --> 01:24.000 And that's, that's not the case. 01:24.000 --> 01:25.000 Fortran, you speak about. 01:25.000 --> 01:26.000 Yeah. 01:26.000 --> 01:27.000 Science. 01:27.000 --> 01:28.000 Okay. 01:28.000 --> 01:29.000 We're doing science. 01:29.000 --> 01:30.000 We're getting closer. 01:30.000 --> 01:32.000 We're getting closer to science. 01:32.000 --> 01:34.000 Of course, when you do science, what are you doing? 01:34.000 --> 01:36.000 You do mattresses. 01:36.000 --> 01:37.000 Natural things. 01:37.000 --> 01:38.000 That's a call of science. 01:38.000 --> 01:42.000 Some people just assume they do video mattresses. 01:42.000 --> 01:43.000 Science. 01:43.000 --> 01:47.000 And when you do mattress computation, you use Lappac. 01:47.000 --> 01:51.000 Just from the logo, you can see where I dates from. 01:52.000 --> 01:53.000 So, okay, we are in Lappac. 01:53.000 --> 01:55.000 But we are still not in Lappac, 01:55.000 --> 01:57.000 but from Lappac, 01:57.000 --> 02:00.000 one of the core user of Lappac now is 02:00.000 --> 02:01.000 Saipai. 02:01.000 --> 02:03.000 Saipai depends on its base system. 02:03.000 --> 02:05.000 On Lappac. 02:05.000 --> 02:06.000 Hmm. 02:06.000 --> 02:07.000 You stay. 02:07.000 --> 02:08.000 That was an important thought. 02:08.000 --> 02:09.000 That was a key. 02:09.000 --> 02:10.000 But we are still in there. 02:10.000 --> 02:12.000 Because Saipai, it's Python. 02:12.000 --> 02:14.000 Plus, C code. 02:14.000 --> 02:15.000 Thanks to me. 02:15.000 --> 02:16.000 A bit of C++. 02:16.000 --> 02:18.000 But, okay. 02:18.000 --> 02:20.000 Maybe it's Python. 02:20.000 --> 02:21.000 Okay. 02:21.000 --> 02:22.000 Python. 02:22.000 --> 02:23.000 Python. 02:23.000 --> 02:24.000 What could be next? 02:24.000 --> 02:25.000 When you think about Python. 02:25.000 --> 02:28.000 So, because you mean, you can think about education. 02:28.000 --> 02:31.000 Because my daughters learn computer science. 02:31.000 --> 02:33.000 Through Python. 02:33.000 --> 02:34.000 That's cool. 02:34.000 --> 02:35.000 And this comes back. 02:35.000 --> 02:36.000 Hey, dad. 02:36.000 --> 02:38.000 There's a speaker that you're job. 02:38.000 --> 02:39.000 That's cool. 02:39.000 --> 02:40.000 Okay. 02:40.000 --> 02:43.000 So, we are now on education. 02:43.000 --> 02:44.000 Education. 02:44.000 --> 02:46.000 The learn hope right Python. 02:46.000 --> 02:49.000 God not in a console, not in VI. 02:50.000 --> 02:52.000 Even I think for my daughters. 02:52.000 --> 02:53.000 That's it. 02:53.000 --> 02:56.000 Do it for notebooks in the browser. 02:56.000 --> 02:59.000 And of course, I want you to go fast. 02:59.000 --> 03:02.000 And because it's not enough. 03:02.000 --> 03:08.000 You need WebAssembly to have your Jupyter notebook run fast. 03:08.000 --> 03:10.000 So, what's from this middle game. 03:10.000 --> 03:15.000 The summary is you want to run scientific Python in the browser. 03:15.000 --> 03:18.000 I'm not through a discussion with a Python interpreter. 03:18.000 --> 03:20.000 But everything has to run in the browser. 03:20.000 --> 03:23.000 If you did a sci-fi, which is including Python, 03:23.000 --> 03:26.000 including the native binding of sci-fi. 03:26.000 --> 03:28.000 That is including lab pack. 03:28.000 --> 03:30.000 Including fortune code. 03:30.000 --> 03:35.000 And to generate this WebAssembly thing from the patch, 03:35.000 --> 03:39.000 you need to be able to turn fortune code into WebAssembly. 03:39.000 --> 03:42.000 Which is where Flung could shine. 03:42.000 --> 03:43.000 Good. 03:43.000 --> 03:44.000 Shine. 03:44.000 --> 03:46.000 Because Flung is not a cross compiler. 03:46.000 --> 03:51.000 And that's unbelievable for me. 03:51.000 --> 03:54.000 Even if you have some flung there here, we can talk. 03:54.000 --> 03:57.000 But Clung is super nice on that topic. 03:57.000 --> 03:59.000 But Flung, no. 03:59.000 --> 04:00.000 There are some assumptions. 04:00.000 --> 04:04.000 There is a string assumption that the host and the target are the same. 04:04.000 --> 04:06.000 It's awkward in civil place. 04:06.000 --> 04:10.000 You want to know the size of an int from the user code base. 04:10.000 --> 04:13.000 It's size of int on the host. 04:13.000 --> 04:14.000 Perfect. 04:15.000 --> 04:18.000 Of course, it's guarded by a teenage configuration flag. 04:18.000 --> 04:21.000 You can't have a different target. 04:21.000 --> 04:25.000 But what someone else did was just let's reduce the check. 04:25.000 --> 04:29.000 Now, you can go through and actually generate WebAssembly. 04:29.000 --> 04:33.000 Well, sometimes there are some assumptions about the size of the pointer. 04:33.000 --> 04:36.000 So let's add code that is WebAssembly. 04:36.000 --> 04:40.000 And we move this host to target assumption. 04:41.000 --> 04:44.000 And so maybe that does not look sustainable to you. 04:44.000 --> 04:50.000 Because we have basically specialized in a flung code for WebAssembly. 04:50.000 --> 04:56.000 But I managed to, so someone did that in a very pragmatic way. 04:56.000 --> 05:00.000 And I made it more generic except for one part. 05:00.000 --> 05:05.000 But in the end, thanks to this pile of hacking. 05:06.000 --> 05:12.000 Now, people are running on Python, including sci-fi in their browser. 05:12.000 --> 05:19.000 And I can't be thankful enough to the guy who works your genome idea. 05:19.000 --> 05:25.000 And also, a result of the course for the nice illustration of some old magic cards. 05:25.000 --> 05:29.000 And it's case for the pictures. 05:30.000 --> 05:32.000 Not 20 slides, 500. 05:32.000 --> 05:33.000 Perfect. 05:41.000 --> 05:44.000 And it's using production, of course.