 So it is time for lightning talks round two So here's basically how this works a lightning talk is a five minute talk that anybody can present and You have exactly five minutes but if you do less you can do less As soon as you hear this sound Your time's up and you have to stop immediately. You're completely done at that point. You're finished So no time for Q&A or any of that you just you have five minutes You can use slides if you want to you can use screen share or you can just you know freestyle it which is your camera Whatever you like to do we can do it that way You can talk about whatever you like like for those five minutes Within code of conduct confines, of course We only have to listen to you for five minutes. So if we don't like it. Yeah, that's all right. No big deal So I Have the I do have the list here and then I'm gonna be going basically in the order that I have on the form right now and then If we have more time after this then we'll see if anyone else wants to do this In the worst case scenario If there's nobody else who wants to give a lightning talk, then we can also do something else that I've been introduced to recently called Slide karaoke where I find a random set of slides on Google and then Somebody can just you know, try to make up a talk with those slides five minutes. It's it's a real kick to to watch Nicholas Nicholas today yesterday So, but that's only if we have the time, but we've got some awesome lightning talks coming up Which we'll start with so excuse me, so it looks like Elias is first up and Elias Can you hear us? Okay? Yep. Can you hear me? Okay? Yes, absolutely. Do you have any slide through anything you want to use? Yeah, I've got a Python notebook. It's probably a bit of a squeeze for the five minutes But I'll true try my very best to get through it and not lose too many people All right. Well, if you want to go ahead and bring that up now, I that way I won't count it against your time Yeah, there we go. All right. Cool. So your time starts now Okay, so this is a bit inspired by Jason's talk yesterday about Python Zen and I just wanted to show something Tired to a comment that I sort of isolated out of the the talk I want to show how how I recommend doing things better without further ado Let's get into it Simple rather simply example. We want to load some invoices here into Python Calculate a maximum spend per a supplier of invoices. So we're on the buying side here And then we want to just bring that back on to the invoices itself to compare them to amount monthly spend I'm just going to run through it and this code is entire is intentionally not great Because I want to show some bits. So we've loaded some invoices now I'm sub selecting a few columns of that. I'm passing them as a types have a look looks kind of great We have suppliers. We have amounts issue dates All good so far now we want to calculate some maxima. So I'm first gonna Set an index of an issue date Then I'm gonna group this whole thing Regroup it in a monthly way and aggregate the gross amount per month and per supplier So what I'm getting is sort of this kind of table Then I'm picking the maximum of those. So now we're back to a supplier level and per supplier I've got the maximum monthly spend So just a bit of housekeeping to have it any data frame and Now I want to Bring this back together with the invoices that I started from so I'm saying I'm merging this together And here's my result. I've still got the invoices gross amount But also the maximum monthly spend of the suppliers and I probably want something like the relative size here as well So I'm just gonna put this gross amount into relation with the monthly spend and I get sort of this percentage This invoices 5% of this monthly The monthly spend of this supplier, but oh wait, what's that? Why is the issue date my index? Because I set it up here somewhere. Oh, I did a mistake. I didn't copy my invoices data frame I did everything in place Wait, let me let me try and fix that Let me rerun it. It doesn't work anymore. I changed everything in place. My notebook is a chaos So What went wrong? Well, like I said, it was this thing. I didn't I did everything in place now There's no way of going back Mutability can be surprising. That's Jason's statement from yesterday and surprises are bad And also the other point that I want to make implementation comments are failures To a degree. I have to comment everything here because it's not clear from the code My alternative is all the headings. I just turn them into pure functions So I've got a function that loads invoices. I've got one that aggregates data monthly by supplier I've got a Function that combines invoices and those aggregates and I define those isolated everything I do in there is an In an immutable way, I'm not changing anything in place And then I've got this really nice thing down here I just say load invoices Combine those invoices with what you aggregate from those so everything that runs is in here I can run pieces of that as I see fit as well Everything's really neat. I can jump around in my notebook as much as I want because everything I do is immutable I will not get confused I won't break things and everything I do here can be copied out right into a production system because it's nicely encapsulated It's self-documenting It's small pure functions that are super reusable. It's named precisely It's everything you want everything ready for production and it's actually not much harder to write Then all this messing about that we had in the beginning But you will thank me later if you try this out It makes your code much neater makes it much much easier to go back to your code to understand it and To have a clean result That's it probably rushed it even more than I was thinking you're on mute Jason Yeah, anyway. Yeah, you finish actually with 21 seconds to go. It's a kind of a pity. There's no points in this game for the Yeah, just her kicks. I'll actually write it down. But yeah, anyway, but you know what? It was a great talk Thanks, just two more seconds then that I'll use if you have any questions or want to discuss this find me in any channel Send me a direct message. I'm very happy to discuss about this. Oh Absolutely. Yes, please do actually this whole conversation started over in talk writings and like Python Which is off my talk yesterday So if you want to see some of the conversation that led up to this dude that definitely check that out All right, so um next in line we have Way is Emma pronouncing that right way Lee. Yeah, that's correct. Cool. I got it right. Yay. All right, so And do you have any slides or anything you need to bring up? Oh, yeah, I'll have to share my screen I'll let you do that first Okay, all right, and Yep, we can see it. We're good. So if you're ready your time starts now, okay Commitment tools is a tool for team to build a commit message rule and now our life demos on functionality of committison tomorrow will have a spring about committison. So let's see where it terminates First we check the status now. There's no new. Oh, it's Mander, but anyway, we'll create another new branch friend as Euro Euro Python 2020 and Will create a new file your old Python 2020 and after that we added to our step Wow, it's well It's a new file your Python 20 then we use the command of committison If you type CZ you will show the Health message of it and then we can use committison to do committison commit By default we use conventional commit and it will show you an user interface, which you can stack which type of command which type of change this is so maybe Assuming this is a Continuous integration and it's Jenkins file and just for test and yet, and you can see we we can have a From Formatted commit messages and if you're not because we in somatic versioning if you change Continuous integration stuff. You don't need to bump version. So after you run bump, it won't bump anything Yeah, because the original version is 1.23.1 and now if we create another one You're all little Python 2021 and we added again and Commended as both bug fixed and another test and We can bump it because because we already have a Buck fixed commit and in semantic versioning if you have a buck this come in in your get log, you will have to bump minor patch version So which is why the version is bump from 1.22 3.1 to 1.23 2.2 And in addition to that, let's see what we have now in our change law In our latest it's for It's 1.2 3.1 and if we run Commision change load and incremental Incremental or incremental I kind of get it and you'll see in a get log we add a buck fixed test here So Yeah Oh, yeah, we forget to create a lot of the good tech for this version Hmm, that's weird, but yes So we can use commitment to format our coming message and use it to bump our project version and generate The change log is from it. So if you are interested in this project, let's bring tomorrow in spring commitment and tools Or that will be all That was and actually you finish it off with with with a minute with a minute 11 That was that I just added that to my bullet level to my bullet journal that is I I want to use that that is a really great looking tool Thanks so Thank you way and Yeah, if anyone wants to ask him any questions or whatever. Yeah pop into the Microsoft track and I Definitely join that's join that sprint tomorrow if that looks interesting. There's a lot of really cool sprints and All right, so next in line we have Sangashanin I believe there you are Hey Hey, so do you have any slides anything you want to yeah All right, let me make sure I restart this thing. Okay, cool. So If you are ready to go, yeah, I am your time starts now Okay, so this talk is going to be really short and really weird and Since I've looked at all the other talk it feels like I'm gonna waste a lot of time So it's fine. It's fine. So lightnings. So why is this called a lightning talk, you know, because lightnings can't talk Right, so let's you know explore that further With a short history of memes memes 101 So what are memes like so memes are essentially just images that are scattered across the internet whose meaning can range from Incredibly profound to incredibly tough So memes can be a source of joy confusion and sometimes it can give you an uncontrollable migraine and Memes have evolved over time, you know, we are now at meme 3.0.2 view semantic versioning So memes have evolved from 2010 to what it is right now So the types of memes and of course I have attached some examples So we have cat memes which have cats So this cat needs his charge We have dog memes which have dogs We have happy memes, which you know make us feel happy and We have sad memes, which you know make us feel sad We have weird memes that are just super weird they don't make sense and Then we have the intellectual means which you know, you have to be an intellectual to understand it We have the offensive memes, which I'm not going to show for secret reasons that rhyme with road of conduct and Transformation techniques so the memes which you saw before you can transform them to create an entirely new genre of memes Let's look at how you do that deep frying so deep frying is a technique where you deep fry your meme with a filter and that creates an entirely new Genre of memes which are the deep fried memes You have distortion where you can distort the face of a character in a meme and create distortion And then you have the green screen memes, which is just a green screen The evolution so memes have evolved from you know the early 2000s Of sending just cat pictures online to now where they have stopped making sense So this is something which you know Is really weird which shows you the timeline of these memes Where it evolved from proto Ironic stages to most ironic stages and it has to stop being simple than started being complex Does this not make sense to you? I'm sorry. It's not supposed to and it's really weird actually and the purpose of this is Absolutely nothing sometimes it's all chaos and you're gonna live with it Thank you very much. That's it. I hope I did not waste a lot of time Wow that wow that was that's that one's a kid I'm watching that again later on YouTube that's That was fantastic, thank you You only used you only used three minutes of my life that I do not want back that is that that was well invested Thank you Absolutely, I feel I feel very educated. She no means had a timeline I mean, I think I think the son has invented an entire new branch of academics or where we Look at the evolution of memes over time. I mean, I believe you were the first professional Memologist, thank you. Thank you. I I prefer me Connoisseur. Okay, there we go. I mean Connoisseur Well, there's something new every day and that is knowledge. I will use daily. Thank you so much so Next and next on our list If that if that has not set the bar so high that everyone else will scare it off is terry terry for me I don't know how I'm gonna follow that. I Don't know how anyone's gonna follow that. Who are we kidding? Okay, I'm just gonna attempt to share my screen and apparently I have so many windows open I can't tell which one is the most sure Yeah, that's right because son finished with a minute 58, so it's not like we're under the gun here Okay, I just need to open my system preferences and change a few things. I'll be alright back Okay, I have to quit zoom apparently and be open so alright So I'm gonna actually then go to Marius and come back to you if that's alright So you have time to work all that out. Thank you We will come back to Terry then if Marius is ready to go if you can hear me I think I am I'm just gonna activate my screen share. I Hope you can see something absolutely. We can see a starry starry night. Well, not the painting But it should no no show slides though absolutely. Yes. Okay, so your time starts now So yeah, thanks. I'm Marius I'm working as a software engineer researcher in Germany at so no for and I'm currently trying to figure out So this is kind of a cry for help how to document the architecture of my applications because I have problems with the last step of it Which is to document or to actually generate you ML diagrams from my Python code So to take a step back Why am I going to do all this because having an architecture documentation is great allows me to simplify a few existing processes such as Improving my software or maintaining it better because I can just look and analyze my architecture rather than looking at all of my code And it will also make community communication easier with my other teams that I might have and Of course, it also helps me to maybe check if the nice architecture I built is actually also the one I also implemented and it helps getting new people on the team much quicker because I can Let them look at this as kind of a training material And there are of course different ways of doing the documentation So there's for example, semi formal or formal ones I don't really like or want to use the formal ones such as Archimage or like difficult uml type diagrams Because even though they are quite complete and verbose it does take a lot of time to learn them especially when creating them, but sometimes even to consume them. So you're kind of just shrinking the set of users who can work with this artificially Like a domain expert might not want to learn uml just to understand if If you're doing a good job as an engineer And the semi formal ones I like better. So for instance in Germany, there's this arc 42. It's just a document template really Something I would like to use and c4 model, which is essentially a set of diagrams And for those who just read this, it should be possible without any learning effort Those who created need to learn a little bit but not so much So then for the data format, I want to do everything with text Not with any kind of proprietary binary formats Because text has the advantage of it can live forever. You don't need any software to open it or to look at it It is human readable right away And of course you can differ it, which is great because for some reason with all these diagramming tools Diffing is not part of the solution. They forgot to implement it. I don't know It's actually very hard problem. It only exists a few research papers about this And what I do not want to do is play this game where I have When I want to understand the difference of an architecture I have to look at the before and after image and then find the differences to understand how say the class model changed I want to look at text rather in a diff that I know as a dev engineer anyway So if I want to use vcs, I can well put my documentation into vcs have readable formats generated in ci There are different text decks on how to do this. This is just an example But essentially you have some set of clear text documents marked down restructured text whatever you have text based diagrams And these diagrams have different levels because the idea is you start high level and then then you zoom in And the high level ones you make yourself using whatever Diagram language you want to use but the lowest ones I do not want to Make myself because they change very frequently and I want to have them generated And plantium else the one that I found to be most widely used or be quite nice. Essentially you write clear text Diagrams using a Java like syntax Plantium L converts this to dot Files which graph with then converts to images And you can do a lot more than just uml or class diagrams You can do a lot of other kinds of diagrams Check out this resource if you are interested the hitchhiker's guide to plantium And now my problem that I have is I found quite a few good generators for other languages But nothing good for python when you use type hints, which is great because type hints make Should make the job easier for these kinds of pauses. There are a few tools. I tried but they are not actually good So this is my question. Why does nobody care about this? Does nobody use class diagrams? Or are people using only untyped code where the generation is fine? Or maybe i'm on the wrong track to begin with So if you have any opinions, let me know and maybe let's discuss this in the architecture docs Um discord channel. Thank you Excellent, uh 13 seconds to spare two and that was uh, I think it's a very salient issue. I uh Actually just try to message you on discord because i'm interested in this one. I want to see where this goes I do love a good uml. Thank you mares All right, so terry are you uh ready to roll do you have that? I'm back things are looking much better Oh, excellent. Yeah, there's that pesky little thing. I believe with with mac isn't there. There is. Yeah. Yeah All right, so you are spotlighted and you are ready to go. So your time starts now Okay, so hi everyone. Um, it's good to be here. This is my first ever year of python. So hello Um, so I'm talking about research software engineers or rse for short and who what and why So who are these people? They are Oh, there we are Um, they are people in a variety of roles who understand and care about both good software and good research Okay, so so what are they doing? Well, they kind of live and they bridge two worlds. So they live in this middle ground Somewhere between software engineering as most people in this conference know it and academic or scientific research Okay, and it's all about bringing these two things together Um, and you might not be called an rse, but you might do something similar to this. Okay, and and why well researchers and research needs good software Um good software helps good produce good research and there's not enough of it Okay, there's a lot of bad software in research at the moment in academia Um, I have seen some some quite surprising things if anybody ever wants to see an 8 000 line python function I can show you one um people who Will only only start a project in python 2 still Um people who like to share their code by email or pdfs pdfs Only okay, there's a lot of bad things happening in research and it needs good people Good software engineering skills to go in and do things And if at all this sounds familiar to what you do to Colleagues of yours or friends of yours then then get in touch because we are quite a good community and we're growing And we have some events coming up. So, um As as everybody knows a lot of national conferences have been cancelled So for the very first time we've formed a sort of international rsc group and we are putting on a series of online research software events or source Um, get in touch if you're interested in participating or just watching it's going to be Hopefully one event a week maybe like an hour a week from now until we're back in the same room together So we're thinking this is going to go on until the beginning part of next year Uh, we're hoping to kick off with our first event in the next couple of weeks fingers crossed There's our website, um url if you want to find out more And yeah, we're kind of flying by our seats of our pants because we've never done this before and we've never worked as an international committee before But so yeah Come and come and check us out series of research events and that's all for rscs or anybody who's just interested in what we're doing Thank you Excellent terry. Thank you so much. I actually have a couple of friends in in in that field that maybe They use python in academics. It may be rather interested in that. So I'll pass that on And uh, by the way, uh, you finished with uh, two minutes and seven seconds So that was that was really lightning. That was great. I speak too fast Oh, no, that's that's all right. I hey, you know, they never apologize for being succinct. That's Absolutely, okay, uh, next up we have griffith griffith reese Hey Did I get that right reese or reese reese reese'll do. Yeah, all right Okay, I'm gonna really try to stick under five. So we'll see how this goes You got your slides. Uh, I do have some slides. Uh, and yeah, yeah, I'll give it a shot Um, cool bring those up first before I start to talk to make sure that before I start Don't lose your five minutes to technical issues because that's never fun. Okay So I hope Is that visible to you? Perfect. All right, you are good to go. Your time starts now right, okay, so, uh, this I Initially thought this wouldn't fit this conference But given there are two presentations on creativity so far, which are awesome That's what got me the courage to do this. So thank you for both of those and we'll see how this goes Um, so uh back in 2010 I was at a place called the santa fe institute summer school and we were supposed to do our own projects over the three weeks and me and two friends Ended up trying to make a collaborative design project Which ended up being a jango app And then I ended up running at a museum called the ash moly in a couple of times But never could find a department who was up for actually like pursuing that project Um, and it's sort of left on one side But I keep wanting to come back to it and especially with the release of jango three and async Maybe there's a way that I could do it in a big way that could scale up so, uh There we initially were having trouble finding ways to study aesthetics We could see some questions on problem solving and completely missed all of this literature that i've now since found on neuro aesthetics Which is really interesting those are some people worth looking up if anyone else is interested in that But the kind of the question was we were sort of looking at it as people could only see their neighbors and you'll see that in a second Um, and then how sort of motivic aspects of their designs seemed to respond to their neighbors designs Um, and you know, is that cool? Does it look good? Do we like that? That's what we wanted to research Um, obviously people may be aware of another project that came some years later Uh, this is not the final version, but people may recognize it It's just obviously worth mentioning that but crucially everyone in this can see the whole canvas Whereas in the way we did it you can only see your local neighbors your morris neighbors if that rings any bells um, so uh, the other crucial thing was that it was for designing a t-shirt Um, and uh, so that was an extra incentive people actually getting a t-shirt that came out of it Um, and so and then there was a vote we won the vote Um, so I have a t-shirt of it which I now can't find because it's been so long So I'm going to give you a really quick demo in processing Uh, because that was the easiest thing I could get set up for this So fingers cross this works So this there was a version in processing j s and now there's p5 j s there's ways to do it But crucially a press space I can see my neighbors. There's the north neighbor and my northwest neighbor of the middle and top left And then I can click and draw a shape Crucially, I can also edit that one line that I share with my neighbors And then I press space and it zooms out and you see where you fit on the canvas right here in this particular case This is how we ran in the museum. So um, the last thing uh How we so there is how we ran it actually as uh, uh, a website we then had um, so I won't go into the details of that It's too hard to show that right now. We had some hilarious problems of time zones Uh, there where someone hadn't changed their time zone. We were taking the user's time zone rather than the server time zone So people started over writing. There was a dude named sheva who Figured out how the JavaScript work and then tried to algorithmically create a random square which ended up overwriting a whole bunch Which you'll see in a second. Um, but we thought it looked really cool at the end So let's see if I can get this to work um That was the uh overwriting moment It's also worth mentioning that this is a torus so that everyone on the right Saw the left edge as their neighbors and everyone on the bottom edge saw the top as their neighbors And that's a piece by julius heisman who's a really important composer who actually ended up homeless towards the end of his life um, so Yeah, that's a final version of it as a you know, uh, just a vector Again, each person just got their square and they could see there eight more neighbors around them for their edits But they never saw the final canvas until we printed the t-shirt at the end Um, we'd like to move it forward jango three Using channels and web sockets seems like a great way if we were to scale it outside just you know 64 people um And we've thought of trying to study other elements of creativity like sound if you can only hear like four bars before your four bars And then the four bars after how much could motifs also play in that sense Um, and then could we then analyze that and maybe ways in which those patterns could play out And also ways in which i a i might replicate human behavior in the creative context So the last slide is when we were running it what times of day people tended to All right, so you you you were really close there though, but that was I mean, yeah You got to the last slide or bravo for packing all that I'd like to hear that music demo That would be interesting. Let let me know when you do that because I I want to be part of that Oh, that would be awesome So thank you very much griffith. Uh, that was uh fascinating Presentation and like I said great job fitting that into five minutes Okay, so we got two more left on the sheet And it looks like we actually have time for several more talks too. So Here's the deal if anyone else wants in on this You can add your name to the sheet because i'm watching that or you can also go ahead and just You know wave your hand at me it over in microsoft track ping me ping me in microsoft track and um, and uh, then we can uh, we can Andrews is running the room so he can keep an eye on that. He can can drag you in um And uh, you can present on whatever you like and and by the way, you don't have to have slides I did this yesterday. I didn't have slides Uh, I just pulled up a webpage related to what I was doing and I gave a little lightning talk on something It's it's a lot of fun It's not hard. Uh, it's not hard to make up something. Um You can even just riff for five minutes like, uh Sanded so Yeah, if you want if you want in on this just, you know, let us know over on the microsoft track All right, so next up we have, uh, lorenzo peña Peña peña peña Peña There we go. I can speak Spanish a little bit. So I was just trying to see if I could fake it Okay, try Now that I and as soon as you said that it went all the All went all out my brain. So we're just going to go with jason can't speak Spanish under pressure All right, so you're ready to go and are you ready? I am. All right. So your time starts now Okay, my name is Lorenzo and I want to quickly show you how to switch branches without too much worry in Django or Django on migrate. So we have Django, which is a great framework with database migrations Which are a way to mutate the database structure and data from code Now in a project that is at least of medium complexity You've probably found yourself in a position where you have a number of branches Each one of those probably mapping to a cool new feature That is work in progress and probably many of those features have migrations So every time you have to switch from one branch into another you have to be unapplying the migrations from one branch And then probably applying migrations in the other branch, etc This was happening to me a lot of time as well. It wasn't an ongoing pattern so the the way I used to be dealing with the problem is I used to be different against the master branch and then filtering by migrations Then doing some sort of mental calculation of the migration name to be unapplying because you know in Django If you want to unapply some migrations You have to target the migration that comes right before the the migrations you want to unapply And finally once I have found the migration name. I wanted to actually unapply then I would just unapply So this was going on for a while So I thought is there maybe a way in which Git and Django can become friends in this regard And that is how I created Django on migrate which you can find in pipi in that link So the new way for doing this is you pretty much install the package You add it to your installed apps so that the management command becomes available And you pretty much just run the command and you target any point in your In your git migration history If you don't pass any argument at all, it's it's going to use master by default You have also some parameters like drive run fake and there's an open pull request currently for cleaning the migrations after Unapplying them in case you're no longer using the master as a name for your main branch you can totally configure that in your Django settings and I want to brag a little bit about how I was how I got to get to a hundred percent coverage in testing this project Since it was using git It was kind of complex to make automated tests that use git in order to make sure that it was working as expected So what I did was that I created a number of intentional commits in the repository history itself And i'm running the test against the repository itself So, uh, please check it out in case you find it interesting And if you think this is a useful, uh repository and you can contribute back, please visit there It's a joke that for every star you send I'll send you two stars back to you. So that's all. Thank you very much Fantastic and with two minutes and 15 seconds to spare. So for anybody who cares about timing, you're in the lead Fantastic, um So next up we have Daniel And actually so far he's last up So before you start Daniel again, anybody else who wants in on this? Hey, uh, we still got some time. Um, we're gonna be wrapping this up at a about a 5855 somewhere in that ballpark in preparation for widow's talk at Nine my time. Excuse me. I'm see I'm talking in pacific Uh standard time or a specific daylight time. Okay, so that would be we'd be wrapping up at 1755 Um cst for the 1800 keynote. So if you want to if you want to do a talk, let me know also I'm totally willing to do uh keynote Uh, I'm not key uh slides karaoke chook if you want to do this Uh, let me know anyway. All right, so I'm gonna stop blathering and turn it over to Daniel You're ready to go. Oh, yeah. Can you see my screen? Yes, we can and your time starts now um, so I one of my hobbies is programming games in python Um, and which is which is perfectly possible. Uh, I run a competition called pie week dot org Where which is a game jam for writing games in python Um, but if you are writing games in python, you will be aware that python is not the fastest language Um, and uh, you know, you have to be conscious of performance Um, so I've been recently writing a game framework called wasabi 2d And I was looking at vector classes in uh in available in python that I could use in wasabi 2d And I was of course interested in the performance of the vector classes because I'm going to be doing a lot of vector operations Um, so I wrote a benchmark script. The script is here How I do it So I just use time it. Um, and I'm just trying out some uh different operations with Larry Hastings's vector class side sized version of that and so on. Um, and these the the results so pure python we're in many milliseconds Pie game has this vector class and it's at 0.1 microseconds Per operation NumPy is a bit slower, but it gets faster as you start to operate on more vectors at the same time, of course tuples surprisingly fast so The but I mean the code for tuples is worse. I guess so you were actually having split The the tuple out and do the operations individually So the vector class for pie game is a pretty good candidate, but it's mutable and uh, that is Huge problem for my apis because if you mutate something that uh, I'm not keeping a watch on Then I know things will go out of sync So I explored sithin a bit yesterday It was just hacking around with sithin icing Larry Hastings's vector class And there's a lot of yellow here and there's a lot of work to make it go white and so you get the speed up so I wasn't getting a big speed up from that um, so I turned to Rust and I there is a library called pio 3 Which actually turns out to be pretty easy to use so it has Uh Tied up in the zoom stuff um So it has great documentation. Um, I started by copying and pasting this and there is a Cool tool called maturing, uh, which does all of the the complicated stuff for you So, uh, if you have done any rust, you know that there there is a tool called cargo Which is your kind of build tool for for rust Maturing is your kind of python wrapper for the build tool. Um, and it just hands you a python extension So this is my code Eventually for for a vector. Um, and I was surprised how much This feels like rust not like Uh, python, you know, I'm not doing very much to interface with python. So I'm I'm kind of mainly just writing rust code I'm dealing with rust types here um and Then for because the main thing I want to do is overload operators Uh, then you have to implement these protocols and this is where things got a bit harrier uh, so I have uh I need to implement the pi object protocol to be able to implement repra and comparison um And comparison because I want to return not implemented or other things Whereas, uh, if I'm returning one thing pi o three will convert for me Uh, because I'm returning many things. I have to use uh A pi object and therefore I have to construct things myself Uh, but I'm reasonably happy with that. I'm reasonably happy with the code The workflow that I set myself up is that I'm running mature and develop and pi tests and I've got hypothesis tests Um, so they all pass. I've got a benchmark Uh, that I can run. So I run that in release mode Um, and after all that, uh, it's it's half as fast as as pi games vector class. So, um Maybe I'm happy with that. I it's uh, I may be willing to trade a little bit of performance. Uh, and then I can push more things into rust. I'm looking forward to doing that Uh, and my code for that if you're interested is on github in law of moe w veck Thank you very much, uh, daniel pope. Um, and uh, so you know, yeah, you had seven seconds to spare great, uh, great talk. Um, I'll have to check out that. I'll have to check out that uh, That game engine later. Uh, by the way, also your camera is now gone. We don't see you anymore. Oh, okay. Well, uh, that was me pointing with zooms interface which is in front of my tab bar All right, so, um, I am checking here and we don't have uh anyone else signed up. No one else is uh, no one else is volunteering um, so it looks like this is the um, It looks like this will probably conclude the the lightning talks today unless anyone is putting anyone who's already presented Just wanted to do this slide karaoke madness but um So if you want to speak now for every whole trapeze in carrots, I should say that I I signed up um An hour ago with no preparation and I did that yesterday as well. So, um, It uh, you you don't need to have put a lot of preparation into giving a lightning talk Um, it's a great way to to get Some information across just one piece of information that you want to share with the community I recommend it Excellent. Yeah, um, and uh, someone said wasn't there a missed talk that was going to get 10 minutes originally? Yes, but ironically the person who is going to do that Who had missed the talk the first time because of internet issues had to back out of this again Because of internet issues, which is weird because we've seen her at several other conferences and she was fine but we've been helping her debug uh for this conference for um, uh for the last couple of weeks and uh, yeah, uh, it does not the Computers have suddenly decided that they do not like the idea of her presenting Uh at this conference. So dang it. I was really hoping That's um, yeah Weird technology can be weird. Am I right? So At this point then I think we're gonna go ahead and head to break for a few minutes while we get everything set up uh for widow van orlsum's Uh keynote where we'll be answering the questions that were submitted. Um for the uh conference Uh, so that'll be exciting stick around for that. Um, awesome Once again, awesome talks from all our our presenters for the lightning talks you all did Thank you so much