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.