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.