WEBVTT

00:00.000 --> 00:11.000
Is Owen here who submitted a lightning tool?

00:11.000 --> 00:15.000
Yes, it's not you.

00:15.000 --> 00:22.000
I will give you the mic while we wait for Owen.

00:22.000 --> 00:25.000
Hey everyone, where should I sit?

00:25.000 --> 00:28.000
Here's a big good.

00:28.000 --> 00:30.000
Yeah, cool.

00:30.000 --> 00:31.000
Hello.

00:31.000 --> 00:36.000
So I know everyone wants to go to get some beers and food and whatnot.

00:36.000 --> 00:40.000
So I'm just going to see very very tight faces.

00:40.000 --> 00:45.000
So I'm just going to get a raise of hands of who heard about the python programming

00:45.000 --> 00:48.000
lag which year.

00:48.000 --> 00:52.000
Okay, so I'm in the right room.

00:52.000 --> 00:56.000
Who heard about your python conference?

00:56.000 --> 00:58.000
That's good.

00:58.000 --> 01:06.000
Can I get a raise of hands of who in this room was or participated in a European conference?

01:06.000 --> 01:09.000
That's a few.

01:09.000 --> 01:12.000
So I want to improve that.

01:12.000 --> 01:15.000
There's a great opportunity for you this summer.

01:16.000 --> 01:19.000
You're a python is happening in Krakow.

01:19.000 --> 01:27.000
We recently announced that we're doing the European this year in Poland in Krakow.

01:27.000 --> 01:31.000
It's happening in 13 to 20 July.

01:31.000 --> 01:38.000
We have two days of workshops, three days of tracks and two days of sprints.

01:39.000 --> 01:41.000
It's back to back with your sci-fi.

01:41.000 --> 01:46.000
So if you do that, you can do like two weeks of conferences.

01:46.000 --> 01:48.000
That's also great.

01:48.000 --> 01:51.000
The call for proposals is open now.

01:51.000 --> 01:54.000
You have two more weeks to submit.

01:54.000 --> 01:56.000
Well, it's two weeks.

01:56.000 --> 01:58.000
Is it short?

01:58.000 --> 01:59.000
Is it long?

01:59.000 --> 02:01.000
I don't know.

02:01.000 --> 02:06.000
I encourage you to submit as soon as possible.

02:06.000 --> 02:10.000
I don't think there's going to be any extension, but who knows?

02:10.000 --> 02:13.000
I think it's crossed.

02:13.000 --> 02:17.000
And there's also call for contributors and volunteers.

02:17.000 --> 02:23.000
Some of you might know your python is a volunteer lead company.

02:23.000 --> 02:24.000
Conference?

02:24.000 --> 02:25.000
Sorry.

02:25.000 --> 02:28.000
I'm a bit tired myself.

02:28.000 --> 02:33.000
So you know, you can contribute in any way you can.

02:33.000 --> 02:37.000
And we're also looking for sponsors.

02:37.000 --> 02:46.000
If your company is willing to sponsor one of the biggest and longest running conferences in

02:46.000 --> 02:50.000
Python conferences in Europe, you're more than welcome to

02:50.000 --> 02:54.000
Send us an email, check out our website.

02:54.000 --> 02:59.000
You're a python that you and I'm looking forward to seeing you all there.

02:59.000 --> 03:00.000
Thank you.

03:01.000 --> 03:04.000
Thank you.

03:04.000 --> 03:07.000
It's Hujo, castence in the room.

03:07.000 --> 03:18.000
Can you come forward and do your presentation, please?

03:18.000 --> 03:21.000
HMI or USB-C?

03:21.000 --> 03:28.000
And then your microphone.

03:28.000 --> 03:44.000
One of three is you?

03:44.000 --> 03:45.000
Apparently.

03:45.000 --> 03:48.000
I think both of them have to be asked.

03:49.000 --> 03:58.000
Okay.

03:58.000 --> 04:01.000
My name is Hujo.

04:01.000 --> 04:04.000
I'm a phone for you.

04:04.000 --> 04:08.000
I'm here to thank you for your questions.

04:08.000 --> 04:13.000
Which is a framework that we built for a really awesome community experience.

04:13.000 --> 04:16.000
So I'm going to thank you for how these are both.

04:16.000 --> 04:19.000
So let's imagine that you're a company scientist.

04:19.000 --> 04:21.000
And you're an experiment.

04:21.000 --> 04:24.000
So if you're a metropolis, you're in Python of course.

04:24.000 --> 04:27.000
And you have a couple of equipment that is connected to your metropolis.

04:27.000 --> 04:30.000
And while you're in this experiment, you got some data.

04:30.000 --> 04:31.000
So much.

04:31.000 --> 04:32.000
Thank you.

04:32.000 --> 04:33.000
Thank you.

04:33.000 --> 04:34.000
Thank you.

04:34.000 --> 04:35.000
Thank you.

04:35.000 --> 04:36.000
Thank you.

04:36.000 --> 04:37.000
Thank you.

04:37.000 --> 04:38.000
Thank you.

04:38.000 --> 04:39.000
Thank you.

04:39.000 --> 04:40.000
Thank you.

04:40.000 --> 04:41.000
Thank you.

04:41.000 --> 04:42.000
Thank you.

04:42.000 --> 04:43.000
Thank you.

04:43.000 --> 04:44.000
Thank you.

04:44.000 --> 04:45.000
Thank you.

04:45.000 --> 04:46.000
Thank you.

04:46.000 --> 04:47.000
Thank you.

04:47.000 --> 04:49.000
Thank you.

04:49.000 --> 04:50.000
Thank you.

04:50.000 --> 04:51.000
Thank you.

04:51.000 --> 04:52.000
Thank you.

04:52.000 --> 04:53.000
Thank you.

04:53.000 --> 04:54.000
Thank you.

04:54.000 --> 04:55.000
Thank you.

04:55.000 --> 04:56.000
Thank you.

04:56.000 --> 04:57.000
Thank you.

04:57.000 --> 04:58.000
Thank you.

04:58.000 --> 04:59.000
Thank you.

04:59.000 --> 05:00.000
Thank you.

05:00.000 --> 05:01.000
Thank you.

05:01.000 --> 05:02.000
Thank you.

05:02.000 --> 05:03.000
Thank you.

05:03.000 --> 05:04.000
Thank you.

05:04.000 --> 05:05.000
Thank you.

05:05.000 --> 05:06.000
Thank you.

05:06.000 --> 05:07.000
Thank you.

05:07.000 --> 05:08.000
Thank you.

05:08.000 --> 05:09.000
Thank you.

05:09.000 --> 05:10.000
Thank you.

05:10.000 --> 05:11.000
Thank you.

05:11.000 --> 05:12.000
Thank you.

05:12.000 --> 05:13.000
Thank you.

05:13.000 --> 05:14.000
Thank you.

05:14.000 --> 05:15.000
Thank you.

05:15.000 --> 05:16.000
Thank you.

05:16.000 --> 05:17.000
Thank you.

05:17.000 --> 05:18.000
Thank you.

05:18.000 --> 05:19.000
Thank you.

05:19.000 --> 05:20.000
Thank you.

05:20.000 --> 05:21.000
Thank you.

05:21.000 --> 05:22.000
Thank you.

05:22.000 --> 05:23.000
Thank you.

05:23.000 --> 05:24.000
Thank you.

05:24.000 --> 05:25.000
Thank you.

05:25.000 --> 05:26.000
Thank you.

05:26.000 --> 05:27.000
Thank you.

05:27.000 --> 05:28.000
Thank you.

05:28.000 --> 05:29.000
Thank you.

05:29.000 --> 05:30.000
Thank you.

05:30.000 --> 05:31.000
Thank you.

05:31.000 --> 05:32.000
Thank you.

05:32.000 --> 05:33.000
Thank you.

05:33.000 --> 05:34.000
Thank you.

05:34.000 --> 05:35.000
Thank you.

05:35.000 --> 05:36.000
Thank you.

05:36.000 --> 05:37.000
Thank you.

05:37.000 --> 05:38.000
Thank you.

05:38.000 --> 05:39.000
Thank you.

05:39.000 --> 05:40.000
Thank you.

05:40.000 --> 05:41.000
Thank you.

05:41.000 --> 05:42.000
Thank you.

05:42.000 --> 05:43.000
Thank you.

05:43.000 --> 05:45.000
Thank you.

05:45.000 --> 05:46.000
Thank you.

05:46.000 --> 05:47.000
Thank you.

05:47.000 --> 05:48.000
Thank you.

05:48.000 --> 05:49.000
Thank you.

05:49.000 --> 05:50.000
Thank you.

05:50.000 --> 05:51.000
Thank you.

05:51.000 --> 05:52.000
Thank you.

05:52.000 --> 05:53.000
Thank you.

05:53.000 --> 05:54.000
Thank you.

05:54.000 --> 05:55.000
Thank you.

05:55.000 --> 05:56.000
Thank you.

05:56.000 --> 05:57.000
Thank you.

05:57.000 --> 05:58.000
Thank you.

05:58.000 --> 05:59.000
Thank you.

05:59.000 --> 06:00.000
Thank you.

06:00.000 --> 06:01.000
Thank you.

06:01.000 --> 06:02.000
Thank you.

06:02.000 --> 06:03.000
Thank you.

06:03.000 --> 06:04.000
Thank you.

06:04.000 --> 06:05.000
Thank you.

06:05.000 --> 06:06.000
Thank you.

06:06.000 --> 06:07.000
Thank you.

06:07.000 --> 06:08.000
Thank you.

06:08.000 --> 06:09.000
Thank you.

06:09.000 --> 06:11.000
Thank you.

06:11.000 --> 06:12.000
Thank you.

06:12.000 --> 06:13.000
Thank you.

06:13.000 --> 06:14.000
Thank you.

06:14.000 --> 06:15.000
Thank you.

06:15.000 --> 06:16.000
Thank you.

06:16.000 --> 06:17.000
Thank you.

06:17.000 --> 06:18.000
Thank you.

06:18.000 --> 06:19.000
Thank you.

06:19.000 --> 06:20.000
Thank you.

06:20.000 --> 06:21.000
Thank you.

06:21.000 --> 06:22.000
Thank you.

06:22.000 --> 06:23.000
Thank you.

06:23.000 --> 06:24.000
Thank you.

06:24.000 --> 06:25.000
Thank you.

06:25.000 --> 06:26.000
Thank you.

06:26.000 --> 06:27.000
Thank you.

06:27.000 --> 06:28.000
Thank you.

06:28.000 --> 06:29.000
Thank you.

06:29.000 --> 06:30.000
Thank you.

06:30.000 --> 06:31.000
Thank you.

06:31.000 --> 06:32.000
Thank you.

06:32.000 --> 06:33.000
Thank you.

06:33.000 --> 06:34.000
Thank you.

06:34.000 --> 06:35.000
Thank you.

06:35.000 --> 06:36.000
Thank you.

06:36.000 --> 06:37.000
Thank you.

06:37.000 --> 06:38.000
Thank you.

06:38.000 --> 06:39.000
Thank you.

06:39.000 --> 06:40.000
Thank you.

06:40.000 --> 06:41.000
Thank you.

06:41.000 --> 06:42.000
Thank you.

06:42.000 --> 06:43.000
Thank you.

06:43.000 --> 06:44.000
Thank you.

06:44.000 --> 06:45.000
Thank you.

06:45.000 --> 06:46.000
Thank you.

06:46.000 --> 06:47.000
Thank you.

06:47.000 --> 06:48.000
Thank you.

06:48.000 --> 06:49.000
Thank you.

06:49.000 --> 06:50.000
Thank you.

06:50.000 --> 06:51.000
Thank you.

06:51.000 --> 06:52.000
Thank you.

06:52.000 --> 06:53.000
Thank you.

06:53.000 --> 06:54.000
Thank you.

06:54.000 --> 06:55.000
Thank you.

06:55.000 --> 06:56.000
Thank you.

06:56.000 --> 06:57.000
Thank you.

06:57.000 --> 06:58.000
Thank you.

06:58.000 --> 06:59.000
Thank you.

06:59.000 --> 07:00.000
Thank you.

07:00.000 --> 07:01.000
Thank you.

07:01.000 --> 07:02.000
Thank you.

07:02.000 --> 07:03.000
Thank you.

07:03.000 --> 07:04.000
Thank you.

07:04.000 --> 07:05.000
Thank you.

07:05.000 --> 07:06.000
Thank you.

07:06.000 --> 07:07.000
Thank you.

07:07.000 --> 07:08.000
Thank you.

07:08.000 --> 07:09.000
Thank you.

07:09.000 --> 07:10.000
Thank you.

07:10.000 --> 07:11.000
Thank you.

07:11.000 --> 07:12.000
Thank you.

07:12.000 --> 07:13.000
Thank you.

07:13.000 --> 07:14.000
Thank you.

07:14.000 --> 07:15.000
Thank you.

07:15.000 --> 07:16.000
Thank you.

07:16.000 --> 07:17.000
Thank you.

07:17.000 --> 07:18.000
Thank you.

07:18.000 --> 07:19.000
Thank you.

07:19.000 --> 07:20.000
Thank you.

07:20.000 --> 07:21.000
Thank you.

07:21.000 --> 07:22.000
Thank you.

07:22.000 --> 07:23.000
Thank you.

07:23.000 --> 07:24.000
Thank you.

07:24.000 --> 07:25.000
Thank you.

07:25.000 --> 07:26.000
Thank you.

07:26.000 --> 07:27.000
Thank you.

07:27.000 --> 07:28.000
Thank you.

07:28.000 --> 07:29.000
Thank you.

07:29.000 --> 07:30.000
Thank you.

07:30.000 --> 07:31.000
Thank you.

07:31.000 --> 07:32.000
Thank you.

07:32.000 --> 07:33.000
Thank you.

07:33.000 --> 07:34.000
Thank you.

07:34.000 --> 07:35.000
Thank you.

07:35.000 --> 07:36.000
Thank you.

07:36.000 --> 07:37.000
Thank you.

07:37.000 --> 07:38.000
Thank you.

07:38.000 --> 07:39.000
Thank you.

07:39.000 --> 07:40.000
Thank you.

07:40.000 --> 07:41.000
Thank you.

07:41.000 --> 07:42.000
Thank you.

07:42.000 --> 07:43.000
Thank you.

07:43.000 --> 07:44.000
Thank you.

07:44.000 --> 07:45.000
Thank you.

07:45.000 --> 07:46.000
Thank you.

07:46.000 --> 07:47.000
Thank you.

07:47.000 --> 07:48.000
Thank you.

07:48.000 --> 07:49.000
Thank you.

07:49.000 --> 07:50.000
Thank you.

07:50.000 --> 07:51.000
Thank you.

07:51.000 --> 07:52.000
Thank you.

07:52.000 --> 07:53.000
Thank you.

07:53.000 --> 07:54.000
Thank you.

07:54.000 --> 07:55.000
Thank you.

07:55.000 --> 07:56.000
Thank you.

07:56.000 --> 07:57.000
Thank you.

07:57.000 --> 07:58.000
Thank you.

07:58.000 --> 07:59.000
Thank you.

07:59.000 --> 08:00.000
Thank you.

08:00.000 --> 08:01.000
Thank you.

08:01.000 --> 08:02.000
Thank you.

08:02.000 --> 08:03.000
Thank you.

08:03.000 --> 08:04.000
Thank you.

08:04.000 --> 08:05.000
Thank you.

08:05.000 --> 08:06.000
Thank you.

08:06.000 --> 08:07.000
Thank you.

08:07.000 --> 08:08.000
Thank you.

08:08.000 --> 08:09.000
Thank you.

08:09.000 --> 08:10.000
Thank you.

08:10.000 --> 08:11.000
Thank you.

08:11.000 --> 08:12.000
Thank you.

08:12.000 --> 08:13.000
Thank you.

08:13.000 --> 08:14.000
Thank you.

08:14.000 --> 08:15.000
Thank you.

08:15.000 --> 08:16.000
Thank you.

08:16.000 --> 08:17.000
Thank you.

08:17.000 --> 08:18.000
Thank you.

08:18.000 --> 08:19.000
Thank you.

08:19.000 --> 08:20.000
Thank you.

08:20.000 --> 08:21.000
Thank you.

08:21.000 --> 08:22.000
Thank you.

08:22.000 --> 08:23.000
Thank you.

08:23.000 --> 08:24.000
Thank you.

08:24.000 --> 08:25.000
Thank you.

08:25.000 --> 08:26.000
Thank you.

08:26.000 --> 08:27.000
Thank you.

08:27.000 --> 08:28.000
Thank you.

08:28.000 --> 08:29.000
Thank you.

08:29.000 --> 08:30.000
Thank you.

08:30.000 --> 08:31.000
Thank you.

08:31.000 --> 08:32.000
Thank you.

08:32.000 --> 08:33.000
Thank you.

08:33.000 --> 08:34.000
Thank you.

08:34.000 --> 08:35.000
Thank you.

08:35.000 --> 08:36.000
Thank you.

08:36.000 --> 08:37.000
Thank you.

08:37.000 --> 08:38.000
Thank you.

08:38.000 --> 08:39.000
Thank you.

08:39.000 --> 08:40.000
Thank you.

08:40.000 --> 08:41.000
Thank you.

08:41.000 --> 08:42.000
Thank you.

08:42.000 --> 08:43.000
Thank you.

08:43.000 --> 08:44.000
Thank you.

08:44.000 --> 08:45.000
Thank you.

08:45.000 --> 08:46.000
Thank you.

08:46.000 --> 08:47.000
Thank you.

08:47.000 --> 08:48.000
Thank you.

08:48.000 --> 08:49.000
Thank you.

08:49.000 --> 08:50.000
Thank you.

08:50.000 --> 08:51.000
Thank you.

08:51.000 --> 08:52.000
Thank you.

08:52.000 --> 08:53.000
Thank you.

08:53.000 --> 08:54.000
Thank you.

08:54.000 --> 08:55.000
Thank you.

08:55.000 --> 08:56.000
Thank you.

08:56.000 --> 08:57.000
Thank you.

08:57.000 --> 08:58.000
Thank you.

08:58.000 --> 08:59.000
Thank you.

08:59.000 --> 09:00.000
Thank you.

09:00.000 --> 09:01.000
Thank you.

09:01.000 --> 09:02.000
Thank you.

09:02.000 --> 09:03.000
Thank you.

09:03.000 --> 09:04.000
Thank you.

09:04.000 --> 09:05.000
Thank you.

09:05.000 --> 09:06.000
Thank you.

09:06.000 --> 09:07.000
Thank you.

09:07.000 --> 09:08.000
Thank you.

09:08.000 --> 09:09.000
Thank you.

09:09.000 --> 09:10.000
Thank you.

09:10.000 --> 09:11.000
Thank you.

09:11.000 --> 09:12.000
Thank you.

09:12.000 --> 09:13.000
Thank you.

09:13.000 --> 09:14.000
Thank you.

09:14.000 --> 09:15.000
Thank you.

09:15.000 --> 09:16.000
Thank you.

09:16.000 --> 09:17.000
Thank you.

09:17.000 --> 09:18.000
Thank you.

09:18.000 --> 09:19.000
Thank you.

09:19.000 --> 09:20.000
Thank you.

09:20.000 --> 09:21.000
Thank you.

09:21.000 --> 09:22.000
Thank you.

09:22.000 --> 09:23.000
Thank you.

09:23.000 --> 09:24.000
Thank you.

09:24.000 --> 09:25.000
Thank you.

09:25.000 --> 09:26.000
Thank you.

09:26.000 --> 09:27.000
Thank you.

09:27.000 --> 09:28.000
Thank you.

09:28.000 --> 09:29.000
Thank you.

09:29.000 --> 09:30.000
Thank you.

09:30.000 --> 09:31.000
Thank you.

09:31.000 --> 09:32.000
Thank you.

09:32.000 --> 09:33.000
Thank you.

09:33.000 --> 09:34.000
Thank you.

09:34.000 --> 09:35.000
Thank you.

09:35.000 --> 09:36.000
Thank you.

09:36.000 --> 09:37.000
Thank you.

09:37.000 --> 09:38.000
Thank you.

09:38.000 --> 09:39.000
Thank you.

09:39.000 --> 09:40.000
Thank you.

09:40.000 --> 09:41.000
Thank you.

09:41.000 --> 09:42.000
Thank you.

09:42.000 --> 09:43.000
Thank you.

09:43.000 --> 09:44.000
Thank you.

09:44.000 --> 09:45.000
Thank you.

09:45.000 --> 09:46.000
Thank you.

09:46.000 --> 09:47.000
Thank you.

09:47.000 --> 09:48.000
Thank you.

09:48.000 --> 09:49.000
Thank you.

09:49.000 --> 09:50.000
Thank you.

09:50.000 --> 09:51.000
Thank you.

09:51.000 --> 09:52.000
Thank you.

09:52.000 --> 09:53.000
Thank you.

09:53.000 --> 09:54.000
Thank you.

09:54.000 --> 09:55.000
Thank you.

09:55.000 --> 09:56.000
Thank you.

09:56.000 --> 09:57.000
Thank you.

09:57.000 --> 09:58.000
Thank you.

09:58.000 --> 09:59.000
Thank you.

09:59.000 --> 10:00.000
Thank you.

10:00.000 --> 10:01.000
Thank you.

10:01.000 --> 10:02.000
Thank you.

10:02.000 --> 10:03.000
Thank you.

10:03.000 --> 10:04.000
Thank you.

10:04.000 --> 10:05.000
Thank you.

10:05.000 --> 10:06.000
Thank you.

10:06.000 --> 10:07.000
Thank you.

10:07.000 --> 10:08.000
Thank you.

10:08.000 --> 10:09.000
Thank you.

10:09.000 --> 10:10.000
Thank you.

10:11.000 --> 10:13.000
So to reiterate,

10:13.000 --> 10:16.000
the Jews have really built to be extended.

10:16.000 --> 10:18.000
There are those that they've inherited.

10:18.000 --> 10:20.000
You have been exposed up.

10:20.000 --> 10:23.000
I invite you to thank the look at our real story.

10:23.000 --> 10:25.000
In our documentation.

10:25.000 --> 10:29.000
Especially our documentation is not as good as I wanted to be at.

10:29.000 --> 10:31.000
But the I'm protected you.

10:31.000 --> 10:35.000
I like all the examples of the really love that I just took.

10:35.000 --> 10:36.000
Thank you.

10:36.000 --> 10:37.000
Thank you.

10:38.000 --> 10:41.000
Thank you for your presentation.

10:41.000 --> 10:48.000
I want to ask if a person or Owen somehow materialized in the room.

10:48.000 --> 10:50.000
That's Owen right there.

10:50.000 --> 10:51.000
Thank you.

10:51.000 --> 11:04.000
Owen is going to give a small talk about transpiling an old codebase.

11:04.000 --> 11:05.000
No problem.

11:06.000 --> 11:10.000
So here's HMI or USB-C.

11:10.000 --> 11:13.000
And that's your microphone.

11:30.000 --> 11:31.000
Yes, I see.

11:35.000 --> 11:42.000
Awesome.

11:59.000 --> 12:01.000
So it is a five minute talk.

12:01.000 --> 12:06.000
So you might want to use that summarized AI feature that I saw.

12:18.000 --> 12:23.000
So apparently it might be that your mic doesn't work.

12:23.000 --> 12:26.000
Would it be possible to use this one?

12:26.000 --> 12:27.000
Yeah.

12:27.000 --> 12:28.000
It switched off.

12:28.000 --> 12:29.000
It's put a light.

12:29.000 --> 12:32.000
So where's the secret switch?

12:40.000 --> 12:43.000
So now it's better.

12:43.000 --> 12:46.000
Okay, I'll try not to blast this.

12:46.000 --> 12:47.000
All right.

12:47.000 --> 12:48.000
Thank you.

12:50.000 --> 12:52.000
Okay, we'll just do it straight in here.

12:52.000 --> 12:54.000
So.

12:54.000 --> 12:59.000
Okay, so we're going to talk about a project.

12:59.000 --> 13:03.000
This is a project I've mostly been working on as a personal project.

13:03.000 --> 13:06.000
But I have been working on it a little bit at my work as well.

13:06.000 --> 13:08.000
Luckily, I'm.

13:08.000 --> 13:09.000
CTO my work.

13:09.000 --> 13:12.000
So I kind of get a little bit of time to work on it when I.

13:12.000 --> 13:13.000
Between calls.

13:13.000 --> 13:16.000
So this is a.

13:16.000 --> 13:19.000
You start talking about something that's not Python.

13:19.000 --> 13:23.000
If you bear with me, it will get into Python in just a minute here.

13:23.000 --> 13:27.000
So.

13:27.000 --> 13:34.000
I'm going to talk about this language called mumps, which is a language that is a little bit older than me.

13:34.000 --> 13:38.000
And has anyone here heard of mumps before?

13:38.000 --> 13:39.000
Oh, we have someone.

13:39.000 --> 13:40.000
Okay.

13:40.000 --> 13:41.000
Now very many people, though.

13:41.000 --> 13:44.000
For language that's 50 years old, how many people have heard of cobalt?

13:44.000 --> 13:45.000
Another language that's 50 years old.

13:45.000 --> 13:46.000
Right.

13:46.000 --> 13:47.000
A lot more people.

13:47.000 --> 13:52.000
You would think that something that runs a lot of very important systems that.

13:52.000 --> 13:54.000
Our as old as cobalt on mumps.

13:54.000 --> 13:57.000
It would be well more well known, but it's not.

13:57.000 --> 14:03.000
And I got interested it because we work with the Veterans Administration in the US and.

14:03.000 --> 14:11.000
We don't work with this system, but they have a healthcare system called vista that is open source public domain.

14:11.000 --> 14:13.000
That is built using mumps.

14:13.000 --> 14:14.000
There's been built.

14:14.000 --> 14:16.000
They've been building it for 40 years, right?

14:16.000 --> 14:21.000
So it was built originally built by doctors and they have been.

14:22.000 --> 14:25.000
You know, gradually building this.

14:25.000 --> 14:27.000
This tool, which is actually pretty hard.

14:27.000 --> 14:30.000
It highly regarded like it actually meets a lot of requirements.

14:30.000 --> 14:33.000
It has modules for like everything you could imagine in healthcare.

14:33.000 --> 14:39.000
Like talking to physical devices, pharmacy, you know, every specialty.

14:39.000 --> 14:40.000
Right.

14:40.000 --> 14:43.000
So it's really big broad system.

14:43.000 --> 14:45.000
And it's also used by many other.

14:46.000 --> 14:49.000
Healthcare systems, not vista, but other mumps systems if you've used.

14:49.000 --> 14:50.000
Epic.

14:50.000 --> 14:54.000
That's a very major healthcare system use a lot of hospitals.

14:54.000 --> 14:59.000
A lot of national health systems, a lot of financial systems use still use mumps.

14:59.000 --> 15:03.000
And the challenge is a lot of challenges, but some of the big ones is right.

15:03.000 --> 15:05.000
No modern tooling.

15:05.000 --> 15:07.000
The code, the way the code works is usually upload.

15:07.000 --> 15:08.000
It has a built in.

15:09.000 --> 15:10.000
Her hierarchical database.

15:10.000 --> 15:13.000
If you studied your database history at school, you may have heard of these.

15:13.000 --> 15:16.000
They are still in use, not sequel.

15:16.000 --> 15:21.000
So I guess it's no sequel if you want to go really modern.

15:21.000 --> 15:25.000
And so you upload the code to the database.

15:25.000 --> 15:27.000
And yes, it's very hard to operate.

15:27.000 --> 15:33.000
You can't do like code coverage or automated testing very easily.

15:33.000 --> 15:37.000
And a big problem, honestly, is just the developers are retiring.

15:37.000 --> 15:40.000
It's hard in schools unless you work in Epic.

15:40.000 --> 15:44.000
You're probably not going to learn it naturally, right?

15:44.000 --> 15:49.000
So there are a bunch of challenges around this.

15:49.000 --> 15:53.000
Why is this going backwards?

15:53.000 --> 15:54.000
Guess I can't use a PDF.

15:54.000 --> 16:00.000
Well, I should have just kept us in VS code.

16:00.000 --> 16:01.000
Okay.

16:01.000 --> 16:04.000
So a little bit about mumps.

16:04.000 --> 16:08.000
This is a snippet of mumps code.

16:08.000 --> 16:10.000
As you see, it's very tense.

16:10.000 --> 16:13.000
This is actually a very friendly snippet of mumps code.

16:13.000 --> 16:16.000
You can see it's getting setting some declarations and new variables,

16:16.000 --> 16:19.000
setting values, writing some output.

16:19.000 --> 16:22.000
You know, you can do air for then.

16:22.000 --> 16:24.000
You can do a lot of fairly normal things.

16:24.000 --> 16:26.000
But you can also do some weird things.

16:26.000 --> 16:32.000
So the database is all the variable system is set up in this hierarchical model.

16:32.000 --> 16:36.000
Very much like a very like much like the database, right?

16:36.000 --> 16:41.000
So essentially to put this to variable, you just take your hierarchical array and say,

16:41.000 --> 16:44.000
store this and to retrieve it, you retrieve it.

16:44.000 --> 16:47.000
And that passed down every time you call a function,

16:47.000 --> 16:50.000
all the variables you pass down get modified by that function.

16:50.000 --> 16:55.000
It's kind of like locals, but it's by reference kind of.

16:56.000 --> 16:59.000
I want to know you, but you have one minute left.

16:59.000 --> 17:01.000
One minute. Okay. I will speed up.

17:01.000 --> 17:03.000
Okay. I will get me get to the Python bit.

17:03.000 --> 17:07.000
So yeah, white space is significant, but not in a nice way.

17:07.000 --> 17:10.000
Extreme abbreviations.

17:10.000 --> 17:13.000
A lot of other stuff I'm just not going to have time to get into.

17:13.000 --> 17:19.000
So what we're doing is we are using this library called text X.

17:19.000 --> 17:24.000
We're not using many libraries, but text X is a nice kind of DIY pass a library.

17:25.000 --> 17:30.000
It makes it very kind of easy to configure passes for the language.

17:30.000 --> 17:32.000
And then we're using analysis.

17:32.000 --> 17:36.000
That gives us a set of classes of like nested classes representing the language elements.

17:36.000 --> 17:46.000
Then we run an analysis layer on that that essentially takes those and creates a graph of connected classes in Python.

17:46.000 --> 17:50.000
That represents things in the way that Python would like to be able to access them.

17:50.000 --> 17:56.000
So then when we generate the Python code, we can walk through this graph kind of in a natural way.

17:56.000 --> 18:01.000
And the code gen is really just like if this exists, then output this Python.

18:01.000 --> 18:04.000
Otherwise down.

18:04.000 --> 18:07.000
So I think that was the time for your talk.

18:07.000 --> 18:08.000
Okay.

18:08.000 --> 18:11.000
I'm very sorry. Maybe you can upload the slides to this.

18:11.000 --> 18:12.000
I will.

18:12.000 --> 18:13.000
Yeah.

18:13.000 --> 18:14.000
Of the different.

18:14.000 --> 18:16.000
Yeah, I actually should say. I submitted the talk.

18:16.000 --> 18:19.000
I thought it was going to be in the tomorrow session.

18:20.000 --> 18:21.000
So.

18:21.000 --> 18:23.000
Yeah. Maybe next year, full talk, right?

18:23.000 --> 18:24.000
Maybe.

18:24.000 --> 18:27.000
Yeah. Well, maybe it will be done. It has a lot more to do.

18:27.000 --> 18:28.000
Okay.

18:28.000 --> 18:32.000
But we have like maybe 90% of the language working.

18:32.000 --> 18:34.000
Can I ask Andrew.

18:34.000 --> 18:36.000
Yes. Thank you so much.

18:39.000 --> 18:44.000
Can I ask Andrew north all to come to the funds?

18:44.000 --> 18:45.000
Hi.

18:50.000 --> 18:54.000
So you also have five minutes.

18:54.000 --> 18:58.000
And then we have two minutes for people.

18:58.000 --> 19:00.000
Do we need more people?

19:00.000 --> 19:01.000
No.

19:07.000 --> 19:09.000
Please click on the mic.

19:09.000 --> 19:11.000
And how do I do?

19:12.000 --> 19:14.000
Here we go.

19:26.000 --> 19:28.000
Okay.

19:30.000 --> 19:31.000
Okay.

19:31.000 --> 19:32.000
And microphone.

19:34.000 --> 19:36.000
So I'm Andrew.

19:36.000 --> 19:39.000
Apologies if this talk isn't a very good quality.

19:39.000 --> 19:41.000
I've made it in the last 10 minutes.

19:41.000 --> 19:43.000
And it's the first talk of ever done.

19:43.000 --> 19:44.000
So I'm trying my best.

19:44.000 --> 19:46.000
Please be nice about it.

19:46.000 --> 19:48.000
It's going well.

19:48.000 --> 19:50.000
So this is a really quick thing that I did.

19:50.000 --> 19:51.000
Which is I'm a cave.

19:51.000 --> 19:52.000
So I'm a bit crazy.

19:52.000 --> 19:54.000
So I go caving in places like this.

19:54.000 --> 19:55.000
Which is quite nice.

19:55.000 --> 19:56.000
And then also places like this.

19:56.000 --> 19:57.000
Which is less nice.

19:57.000 --> 19:59.000
You can see I sent my girlfriend in there.

19:59.000 --> 20:01.000
Instead of actually going myself.

20:01.000 --> 20:03.000
She came back later and said it wasn't very good.

20:03.000 --> 20:04.000
So I've never.

20:04.000 --> 20:05.000
I've never wanted that one.

20:05.000 --> 20:08.000
So the problem we have with caving is we have a lot of legacy data.

20:08.000 --> 20:11.000
And we don't have any centralized repository of data.

20:11.000 --> 20:15.000
And we cannot learn from accidents and incidents that happen in caving.

20:15.000 --> 20:18.000
You know, the airline industry, you know, maritime industry, even the climbing hobby.

20:18.000 --> 20:24.000
You have their own centralized databases of incidents that people can learn from and have less incidents.

20:24.000 --> 20:25.000
Okay.

20:25.000 --> 20:26.000
We don't have that.

20:26.000 --> 20:27.000
Which is probably a problem.

20:27.000 --> 20:29.000
We do have some data.

20:29.000 --> 20:34.000
At least in America their national's physiological society have been.

20:34.000 --> 20:35.000
It's a mouthful.

20:35.000 --> 20:39.000
So I have been recording data for about a hundred years.

20:39.000 --> 20:42.000
But they record it in kind of stuff like this.

20:42.000 --> 20:45.000
And then every single year they get a new attitude.

20:45.000 --> 20:47.000
Because it's a volunteer run organization.

20:47.000 --> 20:51.000
So I'm sure some people here will understand the problems with volunteer run organizations.

20:51.000 --> 20:52.000
There's no consistency.

20:52.000 --> 20:53.000
So the next year we have this.

20:53.000 --> 20:56.000
And then the next year we have something completely different.

20:56.000 --> 20:59.000
So for about two years we tried to digitize all of this by hand.

20:59.000 --> 21:02.000
We're volunteers going for every single incident and typing it all up.

21:02.000 --> 21:06.000
And we've got for about four hundred incidents with about 15 volunteers.

21:06.000 --> 21:09.000
Because it's quite boring to be honest.

21:09.000 --> 21:11.000
Anyway, algorithms have come on.

21:11.000 --> 21:13.000
So I made Alan and Pipeline.

21:13.000 --> 21:16.000
So I got all these stun PDFs that we already have.

21:16.000 --> 21:19.000
And then I use as your text struct, which again is proprietary.

21:19.000 --> 21:22.000
I'm sorry, but there's nothing that's anywhere near as good.

21:22.000 --> 21:24.000
And then we got a bunch of text.

21:24.000 --> 21:26.000
I didn't know there's some quite stupid.

21:26.000 --> 21:29.000
So apparently if the text is in columns it doesn't handle that.

21:29.000 --> 21:31.000
So then you have to run some analysis of that.

21:31.000 --> 21:33.000
And then we have some text and why positions of the text on the page.

21:33.000 --> 21:35.000
And figure out where the columns are and all this.

21:35.000 --> 21:38.000
This was really hard for me because I dropped out of school when I was 15.

21:38.000 --> 21:40.000
So anyway, eventually we managed to do this.

21:40.000 --> 21:42.000
And then we have a several pass.

21:42.000 --> 21:46.000
Alan based extraction to actually structure all of this incident data.

21:46.000 --> 21:51.000
So the first pass is it gets like a whole text file which is like 100 incidents.

21:51.000 --> 21:54.000
And we chunk and chunk and chunk until we get to a point where we can say,

21:54.000 --> 21:56.000
OK, this is an incident in the Alan town.

21:56.000 --> 21:59.000
Alan makes a list of chunks of text which are incidents.

21:59.000 --> 22:01.000
And then we iterate for all the incidents.

22:01.000 --> 22:04.000
We have another one that stretches the data location date.

22:04.000 --> 22:08.000
And you know, it takes like the type of incident that was like maybe they fell.

22:08.000 --> 22:11.000
Or they're limb got chopped off or a rock fell on them or something like this.

22:11.000 --> 22:13.000
We have to deal with fuzzy dates.

22:13.000 --> 22:17.000
I have to write some Django extension to do this because they people just recorded it as like

22:17.000 --> 22:23.000
winter 1901 which postgres doesn't accept wind and 1901 and you can't sort by that.

22:23.000 --> 22:25.000
So I had to deal with that somehow.

22:25.000 --> 22:29.000
And then I had to do set four which was to make another Alan just go back and correct all the mistakes

22:29.000 --> 22:32.000
that the previous Alan's made which was actually substantial.

22:32.000 --> 22:33.000
So it was quite a lot.

22:33.000 --> 22:38.000
It costs about $400 in tokens but the National Speoleological Society in America funded that.

22:38.000 --> 22:39.000
So that was nice of them.

22:39.000 --> 22:41.000
So what did we get?

22:41.000 --> 22:43.000
We got weapons face like this.

22:43.000 --> 22:46.000
Actually Google stole the design for me.

22:46.000 --> 22:48.000
I had this first.

22:48.000 --> 22:50.000
I actually used Alan to write all of it.

22:50.000 --> 22:54.000
You can see Alan suggested that airplane crash might be a good search term.

22:54.000 --> 22:56.000
I probably should fix that actually.

22:56.000 --> 22:58.000
Like I said, I made it in 10 minutes or so.

22:58.000 --> 22:59.000
That's just now.

22:59.000 --> 23:01.000
And then we have nice structured data like this.

23:01.000 --> 23:03.000
So at the top we have you know tags.

23:03.000 --> 23:04.000
Injury, cablefall.

23:04.000 --> 23:06.000
You can search through tags.

23:06.000 --> 23:07.000
You can see the location.

23:07.000 --> 23:08.000
It's all relational.

23:08.000 --> 23:10.000
So you can see all the incidents and calls back.

23:10.000 --> 23:11.000
Caverns.

23:11.000 --> 23:12.000
You go down to the bottom.

23:12.000 --> 23:14.000
You've got the original PDFs.

23:14.000 --> 23:19.000
Everything we could ever possibly want about cave incidents which for most people is not very much.

23:19.000 --> 23:22.000
And yeah, we got lots of different views.

23:22.000 --> 23:25.000
And I feel really happy with the end result.

23:25.000 --> 23:29.000
The project because we've already had the data be used in two doctoral research studies.

23:29.000 --> 23:35.000
Which for me is someone who dropped out of school when I was 15 just feels really nice and.

23:35.000 --> 23:37.000
I do feel bad for all of volunteers.

23:37.000 --> 23:41.000
You spent months of their time trying to categorize it by hand, which was just wasted.

23:41.000 --> 23:44.000
But hopefully they won't watch this talk.

23:44.000 --> 23:46.000
So that's it.

23:46.000 --> 23:47.000
Thank you very much.

23:48.000 --> 23:49.000
Thank you.

23:55.000 --> 23:58.000
And we have one last final talk for today.

23:58.000 --> 24:03.000
And it's people who is obviously going to talk about fighting, right?

24:03.000 --> 24:04.000
Yeah.

24:07.000 --> 24:09.000
Hi, thanks for having me.

24:09.000 --> 24:12.000
I'll just try and get the screen sharing started.

24:12.000 --> 24:13.000
And here we go.

24:13.000 --> 24:19.000
I'm sure you all use lots of Python packages and you put it often look at download figures for those packages.

24:19.000 --> 24:22.000
I do that for Django on a weekly basis.

24:22.000 --> 24:24.000
We had like 1 million plus per day.

24:24.000 --> 24:31.000
And what I learned very recently is actually there's way more data than just downloads available for you to look at.

24:31.000 --> 24:34.000
There's something called the big query data sets.

24:34.000 --> 24:36.000
There's actually query for free.

24:36.000 --> 24:42.000
There's a very generous free here and look at lots of ways in which people use those packages.

24:42.000 --> 24:51.000
Basically, I don't know who he has heard of BigQuery before, but it's basically just equal with a somewhat different syntax.

24:51.000 --> 24:59.000
And so here that's an example of the query that looks at how often Django packages have releases.

24:59.000 --> 25:11.000
Reason I talk about this is I really like to nerd snipe more people in this room to run this kind of analysis because it's super interesting for us open source maintainers to see those kinds of usage trends.

25:12.000 --> 25:18.000
Just a warning, it does cost money if you go over the one terabytes amount allowance.

25:18.000 --> 25:21.000
So it's not small ramp up later.

25:21.000 --> 25:25.000
And yeah, if you want to use .db that my country showcased earlier.

25:25.000 --> 25:32.000
I do my BigQuery query to get the data to my computer and I use .db ETL locally to do my analysis.

25:32.000 --> 25:34.000
So what kinds of analysis?

25:34.000 --> 25:40.000
I mentioned how often Django packages make their release super interesting for us, making decisions of how to cure the package.

25:40.000 --> 25:45.000
How to cure the package ecosystem, which versions of Django people download is super useful.

25:45.000 --> 25:50.000
We have long term support releases. It's really good to know how popular they are and useful.

25:50.000 --> 25:55.000
If you've been using UV, you might be aware that UV is really popular these days.

25:55.000 --> 26:01.000
Super interesting to see if UV might be taking over from other package maintainers.

26:01.000 --> 26:08.000
So here in the Blacktail ecosystem, UV has taken over from poetry in about six months.

26:09.000 --> 26:14.000
And more recently, UV has taken over PIP, specifically for CI downloads.

26:14.000 --> 26:17.000
So that's another bit of data that is in there.

26:17.000 --> 26:19.000
And yeah, I just think it's super interesting.

26:19.000 --> 26:22.000
I think we're only left to surface of this.

26:22.000 --> 26:26.000
I do think it will make for a great talk at a big conference like your Python.

26:26.000 --> 26:30.000
Just saying, oh, great talk at Django con Europe.

26:30.000 --> 26:34.000
See if because it's in fruit two days. And yeah, you want to get started.

26:34.000 --> 26:37.000
Docs are on the PIP I dox. It's all free.

26:37.000 --> 26:39.000
I put you one teller by the month. Go for it.

26:39.000 --> 26:40.000
Super interesting.

26:47.000 --> 26:48.000
Thank you so much.

26:48.000 --> 26:52.000
Thank you all for being here in the Python Devroom.

26:52.000 --> 26:55.000
At first, this was the last of the Python Devroom.

26:55.000 --> 26:57.000
We hope to see you back next year.

26:57.000 --> 27:01.000
And I hope you still enjoy all the rest of the course then.

27:01.000 --> 27:02.000
Thank you.

