EuroPython 2024 — Lightning talks Friday
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 131 | |
Author | ||
Contributors | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/69435 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
EuroPython 202499 / 131
1
10
12
13
16
19
22
33
48
51
54
56
70
71
84
92
93
95
99
107
111
117
123
00:00
Cone penetration testInternet forumBit rateComputer virusGroup actionMultiplication signNoise (electronics)Roundness (object)Point (geometry)Event horizonFood energyMassRule of inferenceMaxima and minimaBitComputer animationLecture/ConferenceMeeting/Interview
01:15
WhiteboardEvent horizonGame theoryContent (media)Continuous trackOperations support systemDesign of experimentsDirected setIntegrated development environmentOrientation (vector space)Event horizonSlide ruleTouchscreenProgram slicingContent (media)MereologyStandard deviationTrailWave packetMultiplicationDirection (geometry)Lecture/ConferenceComputer animation
02:58
Design of experimentsGame theoryEvent horizonWhiteboardContent (media)Continuous trackView (database)Bookmark (World Wide Web)WindowEvent horizonWeb 2.0MereologyBookmark (World Wide Web)Software developerSpacetimeWave packetSelf-organizationLecture/ConferenceComputer animation
04:14
Spherical capCASE <Informatik>Goodness of fitLibrary (computing)Open setMetric systemLecture/ConferenceComputer animation
05:14
Design of experimentsCASE <Informatik>Programmer (hardware)Software bugAsynchronous Transfer ModeLecture/ConferenceMeeting/InterviewComputer animation
06:14
Exact sequencePresentation of a groupTouchscreenInterrupt <Informatik>Programming languageBookmark (World Wide Web)Field (computer science)AttractorLecture/ConferenceMeeting/Interview
07:12
Matrix (mathematics)Object-oriented programmingDesign of experimentsEncryptionLibrary (computing)HomomorphismusSoftware developerInformation privacyNumberVector graphicsSoftwareSource codeLibrary (computing)Matrix (mathematics)SoftwareFocus (optics)Open sourceMultiplication signInformation privacySoftware developerVector spaceOperator (mathematics)DatabaseNeuroinformatikForm (programming)Cartesian coordinate systemOpen setEncryptionStapeldateiHomomorphismusVirtual machineSet (mathematics)Link (knot theory)Row (database)Numbering schemeReal numberStudent's t-testKey (cryptography)PermutationCASE <Informatik>Keyboard shortcutMultiplicationMetric systemProduct (business)IntegerProjective planeInverse elementPresentation of a groupInvertible matrixTransportation theory (mathematics)Interior (topology)QR codeDiagonal matrixNumberComputer animationLecture/Conference
09:33
SphereRouter (computing)CubeObject-oriented analysis and designAngle of attackDistortion (mathematics)Endliche ModelltheorieCASE <Informatik>Default (computer science)Library (computing)Process (computing)Software maintenanceLocal ringThree-dimensional spaceComputer-assisted translationNumberMultiplication signRight angleCartesian coordinate systemPoint (geometry)DampingFunctional (mathematics)Game theoryFormal languageProjective planeCodeTriangleParsingDot productLine (geometry)Computer fileComa BerenicesMereologyDecimalCodeIntegerMobile appSoftware bugScaling (geometry)BitReading (process)Streaming mediaLipschitz-StetigkeitLecture/ConferenceMeeting/InterviewComputer animation
14:01
Coefficient of determinationOpen sourceMusical ensembleSoftwarePoint (geometry)Right angleTouchscreenView (database)Asynchronous Transfer ModeMultiplication signWeb-DesignerMereologySelf-organizationComputer animationLecture/Conference
15:25
Associative propertyWide area networkCAN busCore dumpBroadcasting (networking)Pauli exclusion principleParsingCodeRouter (computing)Value-added networkSystem of linear equationsComputer programmingFormal languageDean numberToken ringState diagramWritingKeilförmige AnordnungApproximationConditional-access moduleRegulärer Ausdruck <Textverarbeitung>CAE Inc.Water vaporWindowView (database)Open setWeb browserLine (geometry)Trigonometric functionsIntegrated development environmentRight angleMereologyMusical ensembleIdentifiabilityFunctional (mathematics)Self-organizationGodCodeRouter (computing)Regular graphPauli exclusion principleBitSlide ruleWeb-DesignerSoftware repositoryToken ringBoolean algebraError messageProcess (computing)Information securityRadical (chemistry)Normal (geometry)Computer fileCore dumpLevel (video gaming)Object-oriented programmingDemo (music)Validity (statistics)Figurate numberComputer animationLecture/ConferenceSource code
20:51
OctahedronDesign of experimentsSet (mathematics)Cycle (graph theory)SpeicherbereinigungLevel (video gaming)Demo (music)Multiplication signSemiconductor memoryObject (grammar)Data miningElectronic mailing listWeb pageCountingCodeNumberPhysical systemLecture/ConferenceComputer animation
22:45
Design of experimentsRight angleWeb pageMemory managementObject (grammar)Ocean currentFrequencyElectric generatorBitCountingCycle (graph theory)Semiconductor memoryVulnerability (computing)QuicksortGreatest elementComplex (psychology)Computer programmingAreaRevision controlPresentation of a groupHypothesisNumberTouchscreenComputer animationMeeting/InterviewLecture/Conference
25:49
Systems engineeringDepth of fieldWide area networkTheory of everythingComplex (psychology)BitOperator (mathematics)Open setSoftware frameworkSlide ruleMultiplication signMathematicsBeat (acoustics)AlgorithmRenewal theoryInclusion mapPhysical systemCodeProgrammschleifeSurface of revolutionComputer programmingMixed realityRight angleLecture/ConferenceMeeting/InterviewComputer animation
28:54
Ordinary differential equationMusical ensembleComputer hardwareMetropolitan area networkPiSoftware testingMultiplication signField (computer science)Lecture/ConferenceComputer animationMeeting/Interview
29:55
Software testingComputer hardwareCodierung <Programmierung>Design of experimentsComputer-generated imageryProduct (business)BitField (computer science)Information securityGame controllerAreaComputer engineeringElectric power transmissionSoftware testingDigital electronicsNetwork topologySoftwareSoftware engineeringComputer animationLecture/Conference
31:10
ClefDigital electronicsMeasurementFunction (mathematics)AreaComputer hardwareSoftwareMatrix (mathematics)Software testingEuler anglesPiComputer animation
32:48
Data acquisitionConvolutional codeDesign of experimentsDensity of statesSlide ruleLecture/ConferenceMeeting/Interview
33:34
Design of experimentsReceiver operating characteristicPresentation of a groupNewsletterEvent horizonReading (process)UsabilitySlide ruleLimit (category theory)Ocean currentQuicksortEvent horizonSpeech synthesisFocus (optics)Graph coloringMultiplication signAsynchronous Transfer ModeSlide ruleVery-high-bit-rate digital subscriber lineInformationGraph (mathematics)Arrow of timeNumberRight angleGraph (mathematics)Inclusion mapBitCovering spaceTelecommunicationSoftware developerLimit (category theory)Expert systemComputer animation
36:43
Presentation of a groupParameter (computer programming)Computer fontAsynchronous Transfer ModeCodeAsynchronous Transfer ModeRight angleNumberSlide rulePeer-to-peerRule of inferenceFeedbackMultiplication signSign (mathematics)Computer fontPoint (geometry)Row (database)Natural numberPresentation of a groupComputer animation
38:20
Ordinary differential equationLevel (video gaming)Function (mathematics)Coma BerenicesPresentation of a groupSpeech synthesisMultiplication signRule of inferenceControl flowLevel (video gaming)NumberFunction (mathematics)Computer programmingMedical imaging1 (number)Lecture/ConferenceComputer animation
39:58
CuboidFunction (mathematics)Design of experimentsCodeWide area networkResonanceComputer-generated imageryComputer configurationComputer programmingTouchscreenCodierung <Programmierung>CodeRight angleRoundness (object)Maxima and minimaMultiplication signWordOnline help2 (number)Function (mathematics)WeightOnline chatCore dumpCuboidComputer animationMeeting/InterviewLecture/Conference
43:25
Presentation of a groupGame theoryArrow of timeAsynchronous Transfer ModeLecture/ConferenceComputer animation
44:14
Arc (geometry)CodePresentation of a groupClient (computing)BootingSatelliteCodeRule of inferencePresentation of a groupClient (computing)NumberRight angleBoss CorporationElectronic visual displayGodSoftware developeroutputArrow of timeCategory of beingFilm editingSlide ruleAsynchronous Transfer ModeData managementComputer fileLine (geometry)Goodness of fitTheory of relativityHeegaard splittingFreewareComputer animationLecture/Conference
46:44
Client (computing)CodeBoss CorporationClient (computing)GodMobile appLink (knot theory)CodeInstance (computer science)Software repositoryWebsiteComputer animationLecture/Conference
47:31
CodeBoss CorporationCoefficient of determinationSoftware developerCodeBoss CorporationMusical ensembleKeyboard shortcutComputer animationLecture/Conference
48:19
Wrapper (data mining)Object (grammar)Optical disc driveData managementComputerCross-site scriptingRight angleGoodness of fitMultiplication signResultantComputer programmingBitInteractive televisionLecture/ConferenceComputer animation
49:44
Object (grammar)Function (mathematics)Point (geometry)Wrapper (data mining)SimulationCodeCountingObject (grammar)Keyboard shortcutSound effectDifferent (Kate Ryan album)Functional (mathematics)Exception handlingSemiconductor memoryComputer animation
50:52
Compilation albumSystem of linear equationsBuildingCompilerDecision theoryState diagramData typeKeyboard shortcutData conversionArray data structureLeakString (computer science)Component-based software engineeringObject (grammar)Wrapper (data mining)Keyboard shortcutNachlauf <Strömungsmechanik>Different (Kate Ryan album)BitProjective planeType theoryGoodness of fitWrapper (data mining)Array data structureCASE <Informatik>Object (grammar)Data miningExistenceComputer animation
51:53
Bookmark (World Wide Web)View (database)InformationMathematicsBenchmarkPhysical systemExtension (kinesiology)Graphical user interfaceWrapper (data mining)Keyboard shortcutData conversionPersonal digital assistantComputer configurationType theorySocial classSpacetimeOperator (mathematics)Array data structureData typeLeakString (computer science)Component-based software engineeringState diagramVector space1 (number)Object (grammar)Data managementFunctional (mathematics)CodeSlide ruleProjective planeComputer configurationBitElectronic mailing listPoint (geometry)Computer animation
53:01
Electronic mailing listIntegrated development environmentElectronic mailing listLoop (music)Wrapper (data mining)Process (computing)CodeMusical ensembleComputer programmingRoundness (object)Programmer (hardware)Mathematical optimizationLecture/ConferenceComputer animation
53:51
Programming languageBookmark (World Wide Web)AttractorMoment (mathematics)Right angleLecture/ConferenceMeeting/Interview
54:38
View (database)Advanced Encryption StandardProgrammer (hardware)Grass (card game)Slide ruleFile formatStandard errorRow (database)Electronic visual displayGradient2 (number)Video gameComputer scienceSlide ruleStudent's t-testProgrammer (hardware)Latent heatGroup actionTouchscreenDecision theoryKeyboard shortcutDisk read-and-write headProcess (computing)Control flowVariety (linguistics)Multiplication signMusical ensembleMereologyCausalityPhysical systemInteractive televisionTerm (mathematics)Auditory maskingRegulator geneWaveSolid geometrySoftware testingNeuroinformatikAreaQuicksortCASE <Informatik>Field (computer science)Integrated development environmentEstimatorComputer programmingGoogolCondition numberStress (mechanics)Flow separationMetreComputer animation
59:55
System callTouchscreenComputer animationLecture/Conference
Transcript: English(auto-generated)
00:04
Hello Europe, I thin My name is Mark Smith My name is Elise Kasai and we are gonna be your co-hosts for the final lightning talk session of Europe. I think
00:22
2024 everybody go But we have 10 amazing lightning talks for you this evening if we have time to get through them all And if we're efficient we will So this bit as you know the rules from the previous two days The the likely talk speakers have a maximum of five minutes to give the talk
00:42
And at the end of the five minutes if they reach that point, what do we do? So it's the end of the conference and some people have gone home and we've had a Really tiring couple of days and a big big social event So sometimes sometimes the energy isn't quite all that all that it was in the first two days
01:03
So it's up to all of you Individually and together as a group to make sure that we're making the most noise we possibly can Every time we need a big round of applause. So can we have another go at that massive round of applause, please?
01:22
So before we start I would just like to remind everybody that just after this we're gonna have the sprint orientation So if you are staying over the weekend for the sprints that will let you know where it is And what's going to be happening there and kind of how to get involved and I really highly recommend if you haven't attended the Sprints before that you do it's a great way to meet new people
01:41
So without further ado before we start the lightning talks, we're gonna have two event announcements. So can I try free three events announcements? So yeah, take it away. Okay, so slice is already on the screen. So I'm Phillip. I'm organizing Python PL 2014 which will happen in Glee visa. It's south of Poland at the end of August and beginning of September
02:05
It has four tracks at least for two for talks and two for workshops. Most of contents is in English and Of course, there will be keynote talks Sessions of lightning talks and the social event and workshops are included in the standard ticket of the conference
02:24
so where is Glee visa is in the south part of Poland so close to the Czech Republic and Slovakia and it's very I would say Easy to get there because there are direct trains from multiple capitals and there are two
02:43
Airports one of them big big so I guess You can easily get there. So That's all come to Python PL 2024
03:03
Hello, I love Python community I started organizing event in 2016 with spike in Germany Then there are many Python webs like on Odessa in Ukraine twice. That was my favorite one in Odessa But you know the war so a Ukrainian part of the team left Odessa
03:21
They moved to broad slow Stay there for two years and Mike organizer Maria was keeping telling me like I don't we need to do something Like there is a space for so much more in this world There are a lot of developers and I say hell. Yeah, so please welcome pike on broad slow This is not official yet, I'm not even sure I'm allowed to use this name. I still need to clarify it with PSF. So
03:45
We'll see about that. But the fact is it is happening and it is happening on 30th of November You can mark the URL pike on Russell. If not, I will just make a redirect. That's fine It is happening and we are very happy to see the community also from Prague Because it's like I think there is a train from Prague to Russell
04:02
I'm sure there is enough people demand and interest in as many events as we can throw in Europe So let it be one more place. Thank you very much
04:25
You can go in France So there is a pike on France so pike on ifra it happened in the end of October and you can Apply if you want to speak because the CFP is still open until the 21st
04:42
There is good food amazing people and if you want to visit France This is a good way and it's not very so you should go Thank you Olympics are happening in Paris as well
05:03
next up we have Sukanya Mandel she's gonna give us a talk on Open fhe metrics arithmetic library
05:35
So, okay, I
05:50
Have I have a slight question here, it's more like a riddle or a question it says yeah Apparently, why do Python programmers prefer that mode anybody? I
06:05
Don't know Apparently because the light attracts bugs. Is that the case? I Didn't know
06:30
Do you really want to hear a tractor joke When is a tractor not a tractor when it turns into a field
06:45
None of them are any better than that don't clap that joke
07:02
What's attractors favorite programming language Oh, you're ready Yes, please don't let me introduce it interrupts you with these stupid jokes. Take it away Thank you. Hopefully this doesn't cut off my time, but I have a stopwatch So I'll start and I I'm just going to talk about a software called open fhe. It's an open source software
07:22
sponsored by non focus and matrix arithmetic library particularly so Open fhe is a c++ homomorphic encryption library. There was a talk today afternoon Just wanted to give it out to this widest audience now, it's formally affiliated with the non focus open source projects
07:40
natively operates on encrypted vector of integers and real numbers and We are looking to add encrypted metrics arithmetic library in c++ on top of open fhe and then expose it in an umpire like manner for Python developers The intended users of the library are data scientists or analysts Interested typically in privacy preserving technologies students and researchers as well
08:05
in a nutshell I just mentioned open so often fhe is an open source full homomorphic encryption library Some of the key features are it supports multiple fhe schemes optimized for batch processing and SIMD operations it provides Python and lust
08:22
Bindings for application developers and it's still actively being developed Some of the use cases are privacy preserving machine learning secure multi-party computations and encrypted database about the matrix arithmetic library so open fhe library provides support for homomorphic encryption and
08:41
Matrix arithmetic operations including matrix vector multiplications matrix matrix multiplications matrix inversions and the goal again is To use this library for privacy preserving ML for machine learning developers typically and some of the intended features of the library that would have is
09:01
Are these in and out of vector products matrix vector products matrix diagonal extractions transportations? Permutations of vectors permutations of rows or columns and We're looking for contributors typically with the skill sets But if you are at all interested feel free to reach out with a various set of skill set as well
09:21
and some of the links are here and If you could scan this QR code, it'll take you to a form if you want to submit an application. That's about it I just ran through the presentation, but thank you Thank you. So Kanya. So next up we have
09:41
Mirror of front shock. I get that vaguely right almost better than most With a mysterious case of distorted 3d models What do I do see how many tractor jokes this takes no zero tractor you would have to be really fast
10:02
Do you have any fast tractor jokes? They're all fast. Yeah, I know so hello This is a 3d model and in an app called open scat. It's not really important, but I'm showing it as an example It's an app that allows you to define define 3d models by writing code
10:20
Unfortunately, it looks more like seed and Python, but it's probably fixable and I And I found that found an interesting problem that doesn't relate to open-scale at all it's about Libraries written in Python that are created to parse 3d models So in case you don't know
10:41
Such a 3d model like this is just a collection of a lot of lot of triangles in the 3d space of floats And XY z-axis and Yeah, so there was a Python library and it loaded the model like this or It straight out crashed and I was like what the hell is going on
11:02
this is nice and this is well probably interesting, but that's not what I wanted and So people were reporting it. I was reporting it and then the maintainers of the libraries. I thought Some from the best of us they didn't didn't see this bug But I saw it and some friends east of me. They see it as well
11:23
I was like is it where we are located or how does this even work? What's happening? So To understand the 3d model imagine you have a file with a lot of floats in it It's a text file with a lot of floats in it So I actually counted and in this model, there is more than one hundred one hundred thousand
11:43
floats in the file, so Reading one hundred thousand floats in Python is Slow, so let's use something faster. Right? So so the library used this cool project called Satan And they this is just a simplified very very simplified codes
12:03
They also handled like opening the files and reading it but the interesting bet games here This is the function in C that they used and and I heard today that it's the forbidden language And that's the reason while this is all happening as you will see anyway this works You give it a line as bytes because that's faster and it gives you the float and then it
12:24
Looks a little bit different and if you know floats, you know why but it's not the point So the point is that if you lose the library in a QT application before if PI side or PI cute the same This process is free zero
12:40
What Or use a matplotlib to render the model Using something else and it also passes to free zero Interestingly my friends in the West they still couldn't reproduce this so the reason is the cute and matplotlib
13:01
Publications call set locale by default and my local is check and we use a Decimal coma and this is how s scan f works So if you if you give it a dot it's just parses it as free like the the part before the dot And it's a success right because it's a number you you actually have to give it a comma
13:23
If you have a Czech locale or Russian locale or Slovak locale, whatever So if you look at the if you look at the picture again It just means that all the floats were floored to the integer value and this is how the 3d model looked and the reason that
13:44
None of the upstream maintainers were able to reproduce is because they had English locales with decimal dots And I found that interesting and I wanted to share it with you normally I deal with Python packaging for fedora in my free time. I deal with cat packaging
14:04
or dog herding and if you want to see my Brands on open source software fedora python or pictures of my pets. You can follow me on the Mastodon. Thank you
14:25
Okay, next up we have Esther Right, but she's gonna show us how to from Italian points Which is the right cable
14:41
Okay, I figure it out No present
15:05
And There you present I enter fullscreen mode Okay this thing Need to go somewhere there. Yes
15:22
Okay Hello, I'm Esther I'm a web developer and I'm part of the Python Italian organizer so this year we had this cool t-shirt and I
15:41
Created this package. Italia is on github is on pypi You can download it and play with it. But sadly this import I Swear you will not work on normal Python I don't know how look at it but anyway Yeah on Python 3.12 will throw an error
16:05
this is because The Emoji as far as I know are not valid identifier in Python and I thought was For some security reasons in some discussion I heard but anyway
16:22
I want you to implement this because it's super cool. So yeah, I basically On my way here. I Python and I got aspired and I thought yeah, I know I don't see Python now. So how hard can it be?
16:42
Yeah, turn out. It's more complicated than this place for me in three days So, of course, I asked someone who really know his stuff. So I asked of course charge beauty first and He told me basically to modify some file that don't even exist. So that was not happy
17:05
So But here we are there a Python have we have a bunch of core dev I can bother So yeah, I was too shy for that. So to Bother the lamps for such an important features. Of course, I have to write a path first
17:22
So I bother Kristen instead and he had me Figure out how to do the trick and I think if you see the keynote Lucas This is not how you will be implemented Ask him how I will ask him how he did it
17:41
So basically you have to force a Python and I fork on the Python Italian repo because despite of speaks Italian now and To make it speaks Italian and to understand which part on are you dealing with? I add to the cease an Italian attribute Italian because I didn't know how to do the boolean in C Python and you can check and
18:05
and then the way I Work it out is to create Function and basically to somewhere in the lecture just skip the tokens of this emoji that are four bytes and
18:22
Basically substitute with a legal letter. So yeah bit of magic. Thanks Christian for that And then in our Italian package we can do Basically, I work I want this package should work and not explode in all the Python regular Python So I check if it's Italian and then add to the global's the the function identify as pinchy fingers
18:47
So, yeah, but why stop there just with this import We can also do like the code that we can write the code in Italian So you can write your spaghetti code in Italian
19:14
Okay, yeah, so basically God Okay, I have my Python that I compile myself. I activated with environment I
19:26
Install the Python italia and then I will Yeah, I can do like from Italian in produce. Oops Yeah, I don't know which Python. Okay, maybe I wrong. It's not the right the pipe made Python and
19:43
Maybe it's the wrong Terminal no Well anyway, where is that Oops I think I Which Python this is Python I know about
20:02
Anyway, I promise it will work. I don't know I messed it up with their minutes. I have too many terminals anyway Yeah, if you There's lights shit the slide, okay Yeah, and and also I configure the traceback to like speaks Italian as well
20:23
And yeah, if you have any other cool ideas I just wrote Make an issue on the bike with all your Apple. And yeah
20:46
Thank you, thank you Esther, okay, I promise I can also write clean code It's always a risk always a risk trying to run a live demo on stage I Like that a lot So now it's my great pleasure to introduce Mark Shannon who is going to tell us how the cycle garbage collector works
21:27
Okay, so yeah all professionally drawn it's professionally drawn because I did this on work time so it's done professionally Okay So I'm going to if I get the page down to work to you about
21:41
Cycle collection so as you probably all know or mostly know See Python does manages memory by reference counting If you the idea being that the number of references to an object is reflected in the count held internally in the object And that works pretty well except for one floor
22:02
So in the code above you can say we're going to create a list Append the list to itself and then delete any reference to that list and the list has a reference to itself This reference count remains as one so even though that's garbage. It can't be collected So, all right, and I've been told that apparently it's better with syntax highlighting. So
22:24
Okay, so Yeah, so So, yeah, so obviously we need some system to collect these cycles So I imagine we have cycles If we got a timer for this because I forgot to start mine. Do I see it?
22:45
fine Right Okay, right So we've got a couple of little bits of objects cycles in memory and the top one is unreachable It's just garbage because all the reference counts are one
23:03
But as you can see, there's no incoming references the lower one which is reachable. One of the objects has a reference count of two So imagine we've got some chunk of memory we need some mechanism of like removing these so what we use is what's called What's called trial deletion
23:21
So what we do in trial deletion is we we try and delete everything So what we do is reduce the reference count for each object by the number of incoming references So in the top we've reduced everything to zero and the bottom one Mostly zero. So unfortunately, not everything that's zero is is is garbage. So we have to do a second step
23:42
Which is We then mark anything that has a nonzero reference count and anything that's reachable from that also gets marked So anything with each so it's a ratio. We've got all these zeros at the top They're unreachable and all the X's the bottom are reachable there's more complexity to do with
24:03
Weak references And finalizers, but that's just extra complication. I'll just skip over here Okay, so that previous thing We have this area of memory now. So how do we select an area of memory in which to look for cycles?
24:21
so in all current versions of Python that's up in two three twelve. We use a generational collection So each object does is created gets what put in the young collection and that's your area and that's usually kept small That's like a thousand objects or something we we do the trial deletion on the area and then move any survivors in the aging collection and then in less frequently do collection on the aging collection and
24:45
Then less frequency still we do on the old collection now collection is the whole heap So that can be a bit of a problem if you've got like a three five Gigabyte heap that can get so I slow so long pauses So what we're going to do in three thirteen onwards is what's called incremental collection
25:01
We still have the young collection because that's still quite profitable objects die young. It's called the weak generational hypothesis and It's weak because it doesn't always true. It's sort of mostly true and then we move them into the old collection, but we incrementally We collect the old in generation incrementally so it keeps the pauses down considerably and where we do that is we just basically grab an object and try and find all
25:26
The reachable objects for it and that tree that as an increment and that's guaranteed that any cycles They're present will be all within one increment so we can do as any single increments and do those persist Incrementally over the lifetime of the program and that's basically it
25:51
Next up we have Emma Cook and she's gonna bless our ears with a Euro Python poem
26:00
My name is Emma I've no slides to connect or anything so I can dive right in this has been my first week My first time at Euro Python and I have written a poem about the experience that I would like to share with you all
26:22
In the heart of Europe the coders convene for me a first-timer a sight unseen What will greet me as I walk through the door to the biggest nerd convention of 2024 an? Opener by Carol willing and I am immediately inspired
26:42
What a legend a maverick one to be admired You see as a young girl in the Irish school system There was no talk of coding not a hint of algorithm But over the years I developed my skills found my people
27:01
I was eager to learn from the complex to the simple So on to my first talk and I must admit I've mixed up a and B and Ended up in a talk. I didn't really intend to see But it was brilliant of course, and that's the beauty I suppose of being at a conference where you're kept on your toes
27:25
Truly it has been a whirlwind of days Now I'm just running on caffeine operating in a bit of a haze There were certainly some insightful talks and lessons, but please just for now
27:41
No more questions. I Teresa and my made it clear diversity and inclusion keep good people near I Believe the tide is turning embrace change and you will see how we can create a more equitable community
28:01
Because community can be hard to come by but you Pythonistas have made it So if you are kind and considerate there is a programming home where you can go Where ancient cobblestones meet with tech revolutions we dive into four loops frameworks
28:22
solutions Where digital debates brew over coffee and beer let's gather together to code without fear So here's to you all the coders dreamers doers With every bite you passion renewers
28:41
May this festival of Python ever thrive in the beating heart of Europe alive alive Thank you. Thank you, Emma. You know, the worst thing about these handheld microphones is you don't get to clap along
29:09
always feels bad So next we have excuse me. It's very small text and I'm quite an old man these days Thomas canal who's going to talk to us about testing hardware specs with pi test
29:24
Of He's doing frustrated gestures now So the same farmer I was talking about earlier drove his tractor into a field is different field this time And it immediately got stuck wouldn't move left right forwards or backwards eventually worked out. It was a magnetic field
29:56
Yeah, so hello from my side. It's also my my first European
30:02
Yeah To be to be a little bit more clickbaity We can also tell how Python helps to make the electric power grid safe secure and reliable So, who am I my name is Thomas I have to
30:22
Confess I'm a hardware engineer. I'm not a software engineer, but I code pythons. I since 14 years And so a quick step into my Area so I think everybody of you should know the thing on the left side. It's a circuit breaker
30:41
everybody has in his Household electrical system and what you see on the right side is basically Big circuit breaker with the control device this control device Need to be regularly tested and as you don't can
31:00
Throw a tree in every high-voltage line to just test if the if the Protection works We kind of mock this This failure so we have here our nice device which is just
31:21
injecting into this normal device the the failures and checks if The device trips the circuit breaker Yeah, what has all this to do with Python so That's somehow one of our setups. We have here a big climate chamber
31:46
19 inch rack full of measurement equipment and We use pie test to automate all that stuff there is a big relay matrix which is connecting the outputs of our device with the measurement equipment because we have to ensure that the
32:03
accuracy of our outputs is More precise than the devices we test with it and yeah, we were pretty happy if anyone is Interested to share all also his
32:21
attitude to hardware because kinda we We our team are a little bit outstanding or not too software cited and but we have done a lot of in this area and are Highly encouraged to share our knowledge there and collect also connect with other people. Thanks for my side
32:46
Thank you, Thomas Next up we have
33:00
I'm not sure of any of you actually know the do's and don'ts of Creating a PowerPoint slide or just general slides to it. Does anybody know perhaps the do's and don'ts? Well, I don't know either Mr. Reavan over here can enlighten us. So give it up for mr. Reavan. Can we give
33:25
Oh Excellent. Hey everyone I'm Ruben learner. I teach Python and pandas for a living all over the place. I've books I've lectures I've all sorts of things. I have bamboo weekly where every week I ask you questions about current events and practice your panda skills
33:44
What was in current events recently that I could ask about I know Anyway The thing is public speaking is hard Explaining things is a separate skill from knowing things. It's really easy to get nervous in front of people Talking and explaining and oh, yeah
34:03
Designing slides doing all that together is guaranteed to get people nervous The thing is public speaking is a skill you can learn it You can get better at it and being a better communicator whether it's speaking or writing makes you a better developer so we come together at your own Python and other conferences that I go to and we try to help each other and we
34:23
communicate with each other and Some people are fantastic at it and some people are less fantastic at it and everyone everyone can get better at it so here's a little bit of advice from what I've seen over the last number of conferences and Truth be told things that I've improved on my own as well
34:41
The first thing don't cover too much. It's so tempting. Oh, I'm gonna have to leave things out I have so much to share it. Yeah, that's true But you have limited time and people can't handle High speed information on lots of things a focus short talk is way better than an unfocused long talk
35:01
Which is better than an unfocused short talk and here's what you should definitely not do. Oh, I'm low on time I'll just talk faster So, how do you not run out of time first of all, no one complains when a talk ends early Especially before lunch. All right, no one likes rushing through the end of slides. Oh, I've got ten slides. Hold on
35:23
I'll just go through them fast. It basically means you didn't practice or focus enough Here's another thing I see people do they're like, oh, you know, I'm not an expert. I've never presented before I hope this goes well. I hope my mother doesn't see this don't do that. Don't do that All right, use slides. Usually why why should you do that? I use Jupiter every day when I teach the thing is
35:47
Slides are faster. There's no doubt about it Some people can pull it off. Most of us can't Make the text large folks Come on, come on Use highly contrasting colors
36:02
Come on also Limit the amount of text you put for slide per slide don't have a wall of text. It's okay to use more slides You're not charged by the slide Or take that as a hint and reduce the scope of your of your talk Do include graphs because people absorb graphical information much faster
36:23
So here's from my talk a few days ago on Pi arrow and pandas and I wanted to show people how much faster pi arrow was and I said I know I'll show them The number and I'll even highlight it quick, which is faster. Oh, yeah, you know what put in a graph then it's clearer
36:41
Don't use dark mode. I Know I know I'm old It's cool If you're young to use dark mode But people can't see it dark text on a light background right bad is white on black worse is purple on black I've seen people do this purple and black and gray on black I mean they come on and then in a tiny font
37:01
I actually have seen people move to the front row lean forward and squint to try to see the slides That is a bad sign friends instead use light mode even better Point to what you are talking about, right? I'm bad at animation, but even I can do this Speak slowly. I know I'm like the number one violator of this rule, but the less you say the more impact it'll have
37:27
Don't read your notes Verbatim, it's boring. You'll sound unenthusiastic practice get natural with it Do solve a common painful problem, right?
37:42
That's what people want and speak about something you want to learn about Get feedback get feedback from people from peers Go to Stack Overflow and look up the topic and see what people are asking about Ask chat GPT what it thinks by the way to always say what a brilliant talk But and then it'll give you ideas such a suck up that chat GPT
38:02
Get better over time. It's a skill as I said, here's the most important thing about presenting Enjoy, if you are having fun giving a presentation people are having fun listening to it It's okay to laugh at your own jokes. I give you permission. All right. Thanks everyone. Enjoy the rest of come And if you are nervous about speaking, but you feel you might have something to say, you know
38:32
The best place to start your speaking career is during the lightning talks That's really why we do this is to help widen the funnel of new speakers coming into the Python community
38:42
That's how I started my my speaking career Started with a five-minute talk turned into a full-time talk Now I introduce lightning talk presenters from time to time And now we have Rodrigo with who wants to be a millionaire I'm gonna break all of your rules Reuven because I'm short on time and I think talking fast will make everyone more excited
39:01
So hello everyone. This is going to be the first edition of who wants to be a millionaire now Please don't sue me. The image isn't mine. There's actually no money involved and this is not endorsed by the actual program So I'm gonna need some volunteers. So start prepping to get up This is the Python who wants to be a millionaire obviously euro Python. Come on. So the playing levels
39:21
We're going to start at the junior level. We're gonna go up to the mid level Senior hopefully core dev and then if you guys if you folks really get it, right? We're still going to try and play for the widow level Question number one. We're starting a junior. Let's try to achieve mid level who wants to play please I need someone a volunteer. Come on. Someone must be brave enough
39:42
You're all very shy. I see someone getting up, but they're leaving. That's fine. So The first question. Are you a volunteer? Are you leaving as well? You don't have to come here. Thank you. This is too easy for you No, don't come here because it's gonna take too long now. You're here already join me. So what's what's the output of the following Python program?
40:02
option a this option B this C and D But wait, wait, wait, wait, there's there's hints. Do you want to use your superpower? Let's base 64 decode this so option ABC or D. There's the small there's a screen there. It's easier
40:25
Probably a excellent. Do you folks agree? Round of applause for Maxine because it's right Excellent, thank you. I Need someone to help me get from me to senior. Do I get a volunteer? Please don't come up here Can someone just stand up?
40:42
Where's said you got up earlier. So now it's your turn. Sorry. I know your name alrighty, so how many soft keywords this Python 3 12 have and Soft versus hard so hard is the rock soft is the pillow we're going for the pillow Zero soft keywords to soft keywords for soft keywords or eight soft keywords
41:01
Now wait, you have some help. I ask the same question to chat GPT. Do you want to know what chat GPT replied? Chat GPT said eight. Do you want to go with eight? Are you are you going to risk something else? You can't ask the audience. What is it gonna be? You have three seconds because I'm low on time
41:22
Yes Okay, so let's say that Chichi let's go with D because Chichi PT said it so it must be right But it's not the correct answer was for Now I talked about this online and Pablo commented saying I was not an idiot. So this is Pablo approved. Thank you From seniors to core dev who's brave enough to try and reply to this question
41:44
Am I going to have to call out someone? Okay, let's go. I Can't read your name from here. Sorry. I have good eyesight, but not that good How many times does the Python 312 box glossary is that the way you say this I don't know mention the word then there
42:01
Is it a zero times two times 15 times or 42 times? What's your guess? Try something else wait Can you you want can you get I'm sorry you want do you want to get help from the audience?
42:21
Does someone know the answer It's not 42 try something else It's zero weights yes, so use the It was zero you're correct. Congratulations. You're now a core dev And for the final question from core dev to Guido, what does the following Python to code outputs?
42:49
and I Broke syntax highlighting, but I swear the code runs. Do I have a core dev that's brave enough to try and answer this Can I get someone to shout an answer?
43:00
It's what? It's not see can I get another answer? It's not be can I get another answer What's a the letter or a the option I can give you I can give you some help. Let's flip it upside down But it was a the letter not the option. Thank you. This was the first edition ever. See you next year
43:32
Thank you Okay, next we have Rudolph's Okay, so he's gonna give us an introduction on how to level up your presentations with better screenshots
43:47
Okay, that's a high praise after a game show and a like I literally when when the ruin was giving a presentation I was adding red arrows to my presentation. So I'm sorry about that. But and it's in dark mode. So yeah
44:03
So, where am I I'm here There we go, here we go, okay, so yeah better screenshots for code Very very highly opinionated presentation
44:21
But yeah, my name is rules basing. That's not really important right now But yeah, let's go. So have you ever taken a screenshot of your code show of hands? That's what I thought I'm also there. Have you ever taken a bad screenshot of your code? Very relatable. Thank you
44:42
So have you ever been in a situation like this where a boss or a manager comes? And now you have to make a presentation for our clients showing our code There may be some of the input data all in kind of like slides because they like slides And you say yeah sure when when do you need it? I'm kind of free right now in 30 minutes and then you kind of like, okay
45:03
And then if you're kind of like maybe maybe if we if we go for the categories if you're a junior developer Then that was given in the previous then you maybe do something like this and then this is This works, but this is not nice right like there's kind of something like highlighting
45:24
But it's kind in dark more but not really it doesn't look very good, right Then you could also try something like this, right? So you're kind of like, okay I'm just gonna split it And then I have like on one side. I have the code and then on the other side I have my data that I want to show and this is where I added the red arrows
45:43
But then you for example, like I'm just writing an example I don't really want to import pandas for example, right? But like how do I get rid of the squiggly line? There's probably a way of doing that in VS code But I'm just too lazy for doing that and then there's also like the little Cool display which shows your code and then it's like oh you save the file
46:00
So VS code really helps you Where it's actually is but it kind of messes everything up and then you think okay like well, I can just move it into The code and do something like this, right? but then you lose the syntax highlighting and then like it's kind of like looks out of place and then Well, I didn't use red arrows here, but where's my mouse?
46:23
Yeah, but then you maybe like I don't know cut cut some like letters and then it doesn't look like some numbers and then doesn't Look very good. So but what if I told you that you can do this and it's like And it's just chef's kiss and like and and everybody in the presentation is like, oh my god
46:41
How did you do that? That's great and then your client is like this and your boss is like this and then it's like your experience may vary but like That's that's hopefully that but what if I told you do you could also do all of this, right? it's like oh my god, you can also add like What is it handles and and do light mode and and do various like you can do background and you could not do background and then
47:06
It just looks very cool. So There's this app show code that app There are all the links for it I will wait I have two minutes left so I can wait for a while while people take the screenshot. It will take you to the
47:23
GitHub repo it also has an API and a local instance if you don't trust the website So a couple of questions people might have Do you develop show code that API? No, I just think it's neat Are there similar solutions probably have I tried them? No
47:41
Can I just survive without this probably I am NOT your boss Thank you. That's my dog. So yeah, thank you. Thank you Rudolph So next we have Fernando Pereira who's going to talk about the Python C++ API with nanobind
48:13
It's maybe up. Sorry guys. I think I just
48:38
Changed the tab for one second
48:45
There we go. All right Well, hello everyone. It's really hard now to give a talk because the previous speakers really put the bar so high
49:02
Well, I hope you are all having a good time This is going to be a little bit more technical very sorry for that, but I hope you still take something from here Maybe a little bit of interaction who has written programs with a C API of Python Not bad who has tried pipeline 11 a
49:25
Few and who has tried nanobind? All right, I see a couple of them well good guys Good news is that we are actually trying nanobind and we have very preliminary good results But we might ask why no one is so new. Maybe so unstable yet
49:45
Well, we are from BPFL and we run brain simulation so that thing is you can imagine heaviest and then of course we want to Provide the best experience for users, but we have code that is 30 years old
50:02
Yes Welcome to my land. So this is the kind of Bindings that we had that were built already a long time ago, so you can imagine that Maybe you have some Python object that you have to decrement before you can return from your function Otherwise you start having really bad memory
50:22
Effect and then yeah, you have to think about that on every return path Now welcome to C++ a return path can be an exception that is raised and it's gonna be caught later on So that thing really got really hard And apart from that we know that okay the C API we still
50:40
Have to be really careful about the reference counts and if something like get item or the pilots get item Can return different kinds of reference counts objects? so But to start is there anything really wrong with by bind 11 Well, I'm in 11 for what is worth. It's awesome. It's really has been very stable, but it can be still a bit heavy. So
51:07
Another difference is that okay. None of mine if you can afford it if it's if you're in a recent compiler simple plus 17 That's really cool. You can use it. It's supposed to be a bit more light
51:20
So, okay think about it, but maybe it's still early in some cases But yeah, but maybe is there anything there that is worth for you to already move well some things are really cool You can already target the stable API It has really good support for an animation or race and then okay
51:41
So yeah some some little improvements But what we found really nice is this object wrappers because typecast is okay Exist of bindings they have they are always there even in the other project but what I wanted to show and They say here these last option is only rarely used and then also not sure you can see this
52:03
but that was the piece that was essential for our work because Let me try not to go back to the slide This well
52:22
Because we could as you can imagine Modify only the bits of code that we have inside our functions with not a point we'd not want you can have your original C++ function and return and be list and You create this list inside and you are just happy with it. So actually for us. This is kind of a C++
52:45
API to Python which out of the blue seems just amazing and it's hidden inside this Authentic gem is hidden inside Python 11. I'm very sorry our Yeah
53:01
Cool. So how did we end up with some of that ugly code in the beginning? Look how cool this can be you can check if you are in the list if you are in the list You can do an STD move and you have your wrapper around the list you Yeah, you can loop over it with a nice C++ syntax or otherwise you do the original
53:22
Yeah, the original processing So, yeah, that's basically that's what I had. Thank you very much for attention Last but not least and he's gonna show us how we can use soft optimized to become a better program
53:47
Round of applause for him, please. The joke would be nice. It wouldn't
54:11
What's attractors least favorite programming language Ross That was actually submitted by Daniel Pope a few years ago at PyCon UK. Don't know if he remembers that low moment
54:32
Champion Thank You Rodrigo, right? I have five minutes. I don't want to keep you away from your weekends any longer than I need to
54:43
so final talk of Euro Python 2024 so We all came here for a variety of reasons, you know There might have been a specific talk or talks you had in mind
55:00
You want to network you want to see the beautiful city of Prague you want to skive off work? all of the above But I'd wager the vast majority of us want to improve as a programmer Python programmer Whether you're in a very technical role as technical role engineer data scientist, whatever it is you want to improve and There's been so many great talks that have helped us in that regard
55:23
This isn't one of them at least not in the sense you're thinking what I have in mind is health So, how can you? Improve your health to be a better programmer or a better whatever it is you want to be
55:42
now first off I have to show you a very important slide and I really can't stress this enough. I am NOT a doctor and what you're about to hear does not constitute medical advice and to be honest if you are getting your medical advice from talks at the end of
56:04
programming conferences then Suggest you maybe step back and reflect on your life decisions But anyway, my goal here is more to provoke some thought maybe if I'm very successful to
56:22
inspire some action and This comes from my own experience. So about Nearly 10 years back when I was a grad student and didn't have a life. We Had external speakers visit our Research group at the University of Manchester. One of them was professor Schraefel. You can see up there and
56:47
She is still is based at the University of Southampton and her research area It's within the field of computer science. Probably not an area. Most of you have Much experience with I certainly didn't and don't and that's sort of human computer interaction systems interaction
57:04
From the human side of it in simple terms really how can you live a better healthier more? Happier life when working with computers working with systems doing the things we all do as part of our jobs Whether it's fingers on keyboard or otherwise
57:23
and She didn't tell me anything Groundbreaking any there's no silver bullet There were a lot of thoughts already swirling around in my head with regards to how healthy a life I was living in front of a keyboard I'm sure it's true for many of you Some of you may already have you know really done a lot and improved in that regard so kudos to you if that's the case
57:43
I'm gonna give you three things Okay first off these Just looking out I don't need a show of hands I can see a lot of glasses out there so It's not great staring at a screen all day and
58:00
a very common condition that I have that Just based on research and you can do a quick search PubMed Google Scholar Most of us in this audience probably at least a conservative estimate about a third maybe a quarter Have dry eye syndrome, maybe you've had it diagnosed
58:21
Maybe it's like gone undiagnosed like it did for me, but staring at a screen all day really makes it Much more likely and can worsen it so the obvious thing is to go to Your optician or ophthalmologist for an eye test and this is one aspect We're actually it pays to be in the corporate environment pun intended
58:44
At least in the UK You're entitled to I think it's generally one eye test a year covered by your employer Europe I did imagine is similar in that regard given. It's of course the land of solid regulation So do check that out
59:02
If you do go to a physician, which I highly recommend you do They'll probably Suggest several things again just based on my experience They might give you some drops and say go away use these perfectly fine. You can buy them yourself over the counter They may suggest you get one of those heat masks, which we've ever seen
59:23
It's basically just a beanbag You stick it in the microwave for about 30 seconds and then you put it on your eyes and it heats them up you give them a little massage after with your finger and You may notice some oils come out and you wipe them away and that's good But like most health related things
59:42
Prevention is the best course of action and we all I'm sure Have heard so many times take a break every 20 minutes 20 seconds. Look at something 20 meters away wherever it is what I'd suggest though is a couple of tips to To make that easier and one of those is to simply when you're in a call
01:00:04
Look away from the screen Thank you