EuroPython 2018 - Lightning talks on Thursday, July 26
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 |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 132 | |
Author | ||
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/44957 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | |
Genre |
00:00
Service (economics)SoftwarePlanningLevel (video gaming)Standard deviationMoment (mathematics)Computer animationLecture/ConferenceMeeting/Interview
00:46
Service (economics)WhiteboardDecision theoryOnline helpSoftware developerSelf-organizationMusical ensembleGroup actionNumberIdentical particlesPattern recognitionCore dumpMeeting/Interview
02:52
Musical ensembleComputer animationMeeting/InterviewLecture/Conference
03:22
Multiplication signAverageNormal (geometry)Goodness of fitAreaWorkstation <Musikinstrument>Lecture/ConferenceMeeting/InterviewComputer animation
04:33
Slide ruleDemo (music)GUI widgetLaptopWindowOnline helpCodeRight angleTouchscreenFunctional (mathematics)Computer programmingBitLink (knot theory)SynchronizationIntegrated development environmentParallel computingComputer virusMultiplication signComputer animation
06:42
SynchronizationGUI widgetMenu (computing)Interior (topology)Loop (music)Task (computing)Partial derivativeData typeAerodynamicsSlide ruleMereologyPresentation of a groupBitCodeLaptopWritingLink (knot theory)Different (Kate Ryan album)Loop (music)Slide ruleThread (computing)Process (computing)Event horizonNumberTouchscreenGreatest elementException handlingTask (computing)Point (geometry)Musical ensemblePlug-in (computing)Parameter (computer programming)Right angleWordDemo (music)Computer animation
09:48
RobotTwitterResultantLecture/ConferenceComputer animation
10:19
StatuteClient (computing)Random numberDependent and independent variablesToken ringPOKEMetropolitan area networkGroup actionActive contour modelTwitterMessage passingCodeResultantBitRobotInheritance (object-oriented programming)File formatObject (grammar)Projective planeVariable (mathematics)Formal grammarString (computer science)Formal languageBoolean algebraComputer animationXML
11:45
Module (mathematics)Computer fileActive contour modelGroup actionCodeElectronic mailing listFormal grammarGroup actionRight angleMathematicsRandomizationComputer animation
12:58
Module (mathematics)Formal languageInheritance (object-oriented programming)Multiplication signCategory of beingCoefficient of determinationCodeControl flowComputer configurationComputer animation
13:52
Scripting languageMiniDiscConnected spaceComputer fileDemo (music)Library (computing)Interface (computing)Extension (kinesiology)Source codeSelf-organizationElectronic mailing listLine (geometry)Template (C++)Software testingObject (grammar)Image resolutionRepository (publishing)Moment (mathematics)Process (computing)Template (C++)EmailScripting languageSelf-organizationMultiplication signNamespaceHard disk driveObject (grammar)Axiom of choicePattern languageDegree (graph theory)Medical imagingSuite (music)MathematicsProjective planeLaptopSoftware testingComputer fileDomain nameCASE <Informatik>ThumbnailAdditionAddress spaceView (database)Normal (geometry)Independence (probability theory)Utility softwareComputer animation
18:45
Letterpress printingScripting languageComputer fileObject (grammar)Image resolutionCloningRepository (publishing)Demo (music)InformationProcess (computing)OvalIntelComputer fileMultiplication signComputer virusSource code
19:16
InternetworkingInformation privacyInformation securityContinuous trackInformation privacyInformation securitySlide ruleInternet der DingeMultiplication signOpen setTrailLecture/ConferenceComputer animation
20:09
Slide ruleWordVideo gameMaxima and minimaMereologyService (economics)MathematicsComputer programmingState of matterField (computer science)Power (physics)Food energyCellular automatonAttribute grammarClient (computing)Characteristic polynomialSoftware developerMultiplication signComputer animationMeeting/Interview
25:20
Codierung <Programmierung>ImplementationRecursionData structureWindows RegistryPhysical systemBinary fileCodeSuite (music)Library (computing)Type theorySeries (mathematics)Communications protocolComputer networkBitFrequencyRoundness (object)Physical systemAuthorizationTime seriesImplementationMetric systemCommunications protocolSuite (music)Electronic mailing listSoftware testingBinary codeSoftwareMappingDifferent (Kate Ryan album)SpacetimeFormal languageCodierung <Programmierung>File formatMessage passingSocial classComputer fileLibrary (computing)Type theoryProgrammer (hardware)WritingSystem administratorMereologyMeasurementCompact spaceLetterpress printingPower (physics)Data structureMultiplication signSerial portProcess (computing)CodeConstraint (mathematics)RecursionSet (mathematics)Buffer solutionDirect numerical simulationWindows RegistryLengthComputer animation
29:47
Module (mathematics)Instance (computer science)Hacker (term)Electronic signatureCoroutineDefault (computer science)Sample (statistics)Wrapper (data mining)Electronic signatureHacker (term)Functional (mathematics)Web 2.0Flow separationCodeAlgebraic closureModule (mathematics)Revision controlMultiplication signDefault (computer science)BitProjective planeGroup actionLine (geometry)Message passingSoftware frameworkSinc functionFrame problemDemosceneProduct (business)String (computer science)Software bugCoefficient of determination3 (number)Right anglePoint (geometry)Instance (computer science)Object (grammar)SineNetwork topologyWordLecture/ConferenceComputer animation
34:39
SoftwareMoment (mathematics)Software engineeringRoundness (object)Computer animation
35:58
TelecommunicationWave packetBasis <Mathematik>Similarity (geometry)Figurate numberMoment (mathematics)TelecommunicationMusical ensembleComputer animation
37:10
Parity (mathematics)Lattice (order)Continuous integrationComputer animation
37:41
Line (geometry)Multiplication signComputer animation
38:16
CodeSoftware testingMathematicsCode refactoringContinuous functionEmailBoss CorporationObservational studyAnalytic continuationCodeCode refactoringDigital rights managementReal numberCellular automatonSystem callAdaptive behaviorContinuous integrationFluid staticsMathematicsBridging (networking)Computer animation
39:07
Roundness (object)Computer animation
Transcript: English(auto-generated)
00:01
Before we move to the lightning talks, we have a special announcement to make. So I would like to announce Naomi Cedar. She's the director of the PSF and she has a special announcement to make. So please welcome Naomi.
00:27
Just like the tech, could you put the standard on, please? Well, get rid, we don't have any laptop here. Okay, stage is yours. Okay, thank you. Yeah, I have a brief moment of PSF business to take care of.
00:44
And to that end, if I could be joined on the stage by Marc Andre Lemberg, please. You may know that the Python Software Foundation every quarter awards two people
01:04
the community service award for their service to the community. You may also know that much, much more rarely we award something that we call the Distinguished Service Award for truly exceptional service to the Python community.
01:22
And if I were to tell you all of the things that Marc Andre Lemberg has done for the Python community, well, I've already run over one talk slot today. I would be well over the second one. He has been core developer. He's been a founding member of the PSF, PSF board member. He has been almost everything in EuroPython.
01:43
So he's done a lot, and in fact the problem is we couldn't recognize him because he was always on the committees and the groups that were recognizing other people. But we have at last found our chance. And we actually made this decision a number of months ago, but we felt that the only way, the only place to give this award would be here at EuroPython.
02:04
And with Alexander's help, maybe we have surprised Marc. And if we have, that is a rare thing indeed. So without further ado, on behalf of the Python Software Foundation, it gives me great pleasure to award the Distinguished Service Award
02:21
in recognition for decades of service. Core developer, Python Software Foundation founding member, PSF board member, EuroPython organizer, board member, chair, with great appreciation, Marc Andre-Lamberg. So thank you. Thank you all. Thank you. It's been a pleasure.
03:22
Thanks. You really surprised me indeed. Yes! Okay, so we've had some practice at applause. Awesome.
03:42
Welcome to the lightning talks. So day two of the lightning talks. I was worried yesterday. We only had nine submissions, which meant that we ran out of talks in the time that we had. So yeah, we've got 21 today. So you really took the challenge to heart. This is awesome. Can we have Pavlo, who has a talk about 18-contubitor here.
04:02
And can we have Jill with make-your-bot-talk up to the front of the stage somewhere. Awesome. Has everybody had a good second day at the conference? Yeah, we've seen some good talks. Awesome. We've got amazing weather. It's not normally like this.
04:21
The average rainfall in Edinburgh is 191 days of rain per year. So that's every other day. And that doesn't stop in July normally. Okay, take it away.
04:45
Windows, yes! Hello. Hi. So let me start the timer. Here we go. Hi. So asynchronous programming was quite a hot topic during this conference. So I want to share a couple of recipes with you.
05:03
So I'm going to be showing some code. There will be a live demo. So if you want to follow, that's the bit.ly link. So bit.ly async-jupiter. Let's get rid of the help. Here we go. So two things that I want to share with you is if you're upgrading your Jupyter notebook environment
05:20
and you notice like tornado got upgraded to 5.0, it may break your async code in your notebook. Don't be surprised. And second thing, I will show how to run IPY widgets asynchronously. Instead of synchronously. So actually I'll start with live demo without further ado.
05:43
Can you see the code? I guess so, yeah. Okay, so I have two notebooks deliberately side-by-side. On the right-hand side we have synchronous IPY widgets. On the left-hand side we have asynchronous IPY widgets. By the way, IPY widgets, if you're using Jupyter,
06:02
IPY widgets are great. If you don't know about them, have a look at them, use them. So let me see what I mean. So let's go ahead and run both. This one, this one.
06:21
All right. So widgets require handlers. So interactive stuff, so you change something on the screen, you need a handler. If your handler is for whatever reason slow, like I have it here, time.sleep, so we sleep for only 0.3 of a second,
06:41
so it's a slow function. But let's see what happens if I start dragging that slider. Do you notice the top? So the top number represents the argument, and it updates on the same thread, so it becomes slow. Let's see what happens on the asynchronous side.
07:03
The bottom number is the process number, so it updates with a delay, but the top number, there is no delay. So we're not blocking the main thread. And the difference between the handler, remember, you can always write asynchronous code by just,
07:23
so here's the bit of code that does that. And the way we wrap it, we attach this coroutine using, to an existing loop. So that's the first part done.
07:41
Yeah, we've done that. Now, yes, so the bad news, Tornado 5.0 may stop your AsyncIO, specifically, AsyncIO code from working, because they started wrapping AsyncIO loop, so you cannot stop. So when you start it, the loop is already running.
08:00
I can actually demo it. So here's the link. So it was actually in the release notes. So here's a snippet that shows you, yeah, you get an exception at the bottom of the screen. It says the event loop is already running, so we can actually go ahead and, how are we doing?
08:21
We can actually go ahead and check the status of the loop, and it says, yep, the event loop is running indeed. So we can close it. Now, how do we solve it? So we can create a task instead, instead of starting, attempting to start a new loop. So also live demo.
08:42
So there was a delay. I added 0.7 of a second delay. Yeah, here we go. So we, the way to solve it is just create a task and add a callback to your future. Okay?
09:01
And I've got another way. So inspired by one of the talks during this conference, Trio. All right? So, yes, Trio makes it even easier and more intuitive to basically do it asynchronously. Yeah. And it works in a notebook.
09:21
All right? Also, you noticed, actually I saw only one presentation that uses this plug-in for the notebooks where you turn a notebook into a nice presentation. And so here's the link if you are wondering how this presentation is made. And the link to the slides also there
09:42
if you want to take a screenshot. And thank you. Awesome. Take it away, Jill. It's okay. I have a plan B. So how to make your bot blabber? Just change the talk name. This is not about AI?
10:01
I'm not that smart. So I found a way to make your bot talk. So last year I gave a talk about how to make a Twitter bot. Now the thing is that Twitter bot only said I threw a die and the result was 1 to 6. This was the code.
10:22
So here you go. I just threw a die and the result was... So the thing is that Twitter only allows you to send the same... I honestly don't know, but if you send the same message to Twitter, it will block. It won't let you send the same one. So after a few messages,
10:42
you wouldn't be able to send anything. So this bot was a bit useless. Now the thing is I found a new thing called Tracery by Kate Compton. So Galaxy... No, not Galaxy. Tracery is a super simple tool and language to generate text. So this is basically the thing...
11:02
Imagine a text, right? So you have an adjective, a noun, something else. So you can do that with format strings and variables and lists. The thing is that Kate found is that she was doing the same thing all over again.
11:21
So she made Tracery. And I'll show you the grammar later. But this is not about JavaScript and that's made in JavaScript. So I found this other project by Allison which is called PyTracery, which translates Tracery into Python. Now, sorry about this. Let's see some code.
11:42
So this is the grammar. I'll show you something better. If we... Wow. Just arch Linux things.
12:03
That's okay. Let's make it work. Right. So as you can see, some things change here. So as you can see, we have an action and a noun.
12:22
So we just need to change that. And I'll show you the code. The code will be more complicated than what any of you would write. But here's the thing. So we have the phrase which is I action animal, right? And then we have a list of actions and a list of animals.
12:40
What it does is the grammar will pick one randomly. Now, there's some magic here. As you can see, the animals are singular. And if you add the grammar, .s, you see that animal with the .s over there? That makes it plural. Yeah. I was going to say...
13:00
Yeah, so I see monkeys, dogs, pigs, and I only had monkeys and dogs. So to finish this one, thanks human beings. Also, this talk was made with that. Do I have time to show the code? Yeah? Okay. View talk.
13:20
I have another one. The one that breaks. Oh, what? Yeah, this also breaks. What's it called? View talk. So yeah. So basically, these are the options. I could have said...
13:41
Cheers, lads. Or cheers, chaps. Or cheers, human beings. Yeah, that's it. Thank you. Awesome. So, Chenfu, if you'd like to take it away with Python package scaffolding.
14:00
Yep. Hello, everyone. This is my first EuroPython lightning talk. So I wanted to talk about... Make a Python package in one minute. Because I'm finding that there's not such a case in Python community to automatically make a package. And for that, I wanted to, if you have a laptop already,
14:22
so you can do now pip install yehua. And then we continue. So I will show you, it's a live demo, and in the end, in one minute, you have your own package. So the objective is that you make your published scripts
14:41
from your hard disk to PyPy and AfterTalk. So very easy. So in one minute. So what I'm going to do is create a Python package in one minute and then share it on GitHub and publish it to PyPy. That's the objective. And I will talk, while this script is running,
15:00
I will talk why I think it's quite useful in this regard. So hopefully it's already installed my utility. So what you need to do is that project name. Let's say yellow Python 2018.
15:21
So showcase Python package scaffolding. This is most time consuming in doing this one minute. So...
15:44
And then for gtpr, I'm not showing my emails. So your email at your... Yeah, usually, in normal cases, you should put your email address here so that users can contact you.
16:03
And for this mobile, this is an organization. I put it as, this is a real organization. Again, this is a real one. And put it on, let's say, like this. And now I'm going to make a command line interface. So I press 2. And the command line name, let's say, yellow Python 18.
16:23
Now we have the namespace back. So, oh, oh, sorry, I got, sorry. I should choose 2. And it's... Okay, sorry. This is... You still got time, quick.
16:40
I still got time. Okay. On license. Let's see. Okay, contact email for now. To save time. And then... And then this is the choice. Should command line interface.
17:01
And then now it's ep18. Okay, now it's doing the job. So I can, can you try the talk? So why this talk? So you got a cool Python suite in hard disk. Why don't you share it? Why? So you share it on PyPy and everybody can use.
17:21
So, but then it says, I need a setup.py independently. So Kenneth Reed had a setup.py project, which is a template you can copy and paste. However, you need to copy and paste by yourself. So it's got 2800 stars at the moment. And in addition, you probably want to supply setup.cfg so as that you can build universal views.
17:46
And... Can you put on the GitHub as well? So that I can contribute. Then you need a README. You need a license file. And for you to contribute or for me to contribute, maybe you put a Travis file so you have a test running.
18:02
And for that... Psychologically, it takes more time than just it takes. There's so many files. For each project I need to do that. And then the last question is, do you want to repeat yourself? Every time you got a script you want to share to the PyPy and then GitHub, you do want to repeat that.
18:23
So now... So hopefully that has done the job. It's here. So the script says, everything is up to date. Please review the changes before commit. So everything is ready. So what's needed for you to do? So what we needed to do at least do something. So URL Python with URL Python.
18:42
We do main. And say def main. Let's say... Hello... World. World. Sorry. So that will be end of...
19:00
Supposed to use your main file. So let's say we wanted to install... That's it. And then... Okay. Thank you, Chenfu. I'm afraid that's your time up. That's it.
19:20
So Marcus is going to talk to us about PyCon AU. In one minute. One minute. Okay. So we had yesterday a talk that was from Antarctica. You don't need to fly as far as there. And you can actually fly then next month. End of August. August 24th to August 28th. PyCon Australia is going to happen.
19:40
There's four specialist tracks on the Friday. One is about security and privacy. One is DjangoCon AU. One is about education. One about Internet of Things. And the general conference has about 50 talks. Four invited speakers. And it's generally a pretty amazing conference. And there are also sprints on Monday and Tuesday. And, yeah, tickets are open.
20:03
There are still tickets available. There are still, last time I checked, flights available to get down there. Yeah. Thank you. You should all come. Take it away. Look, Ma. No slides. Old style.
20:22
Like me. Started my program, professional program, career as program in 1984. 35, 34 years ago. Start learning in 80, previous century.
20:43
And at that time, some people told me, okay, you are growing a developer. Cool. We'll last a couple of years. And after, you will move to something else. Sales, clients, whatever. Lots of people done that.
21:00
Personally, I think that people don't like program, go into program as a step to go somewhere else. I love program. But how I still in business after all these years, as the song say? Because I have a problem.
21:21
I got bored easily. After a couple of days, or at maximum a couple of weeks, I get bored of what I'm doing. I have to change. So, IT is the ideal field with the fast moving change to have someone that get bored easily.
21:42
And here I am, never bored. What leads to a small detail? I have used the word problem on purpose because I hate the word problem. The word problem triggers a problem in mind. If you are kind of neuro-linguistics, you will see that some words trigger some states of mind.
22:08
We don't have problems. We have attributes. We have characteristics. And, may look like a parenthesis, but it's not. I think the most powerful emotion for humans are gratitude.
22:25
Some people says that most powerful emotion is love. But perhaps love is just a state of profound gratitude to our partner. And I would like manifest my gratitude to the speaker of yesterday, to Ed Singleton,
22:46
that talked about autism being a program with autism. Because bring us a huge example as we can put our attributes, our characteristics, at our service instead of working against us.
23:06
And so, for that, of course it needs a major part. Needs that I know myself very well. So, self-understanding is a key part so I can know what I am and put it at my service.
23:27
Time, Mark? You have two minutes left. Thank you. So, I would not say to you to go vegan.
23:40
Well, first of all, because I hate someone to tell me what I have to do. But I can tell you that I haven't eaten meat for more than 10 years, eating fish for a couple of years, and recently going entirely vegan. And it raises a lot of questions, but one thing I can tell you,
24:06
I never felt better in my life. I never felt with more energy. I never felt in a better mood. Even for programming, I never felt my brain, my mind working less fuzzy.
24:26
And yesterday I had the honor to meet someone that I have never met before, the person or the kind of person, someone that is vegan from birth because they are lucky enough to have vegan fathers that raise their child as fully vegan.
24:46
And that authorized me to refer to himself, that is our colleague Hanieri. Say hello, please. If someone wants to know more about their experience, if someone is preparing to raise a child or have friends preparing to raise a child,
25:05
perhaps it's interesting to think about what kind of substances we are going to put inside the body of our newborn baby. Thank you very much. Thank you, Raul.
25:24
I'm ready. Awesome. Take it away, Keo. Hi, I'm Keo Smallwood. I'm a recovering sysadmin and recovering Perl programmer. I work for a company called Flexatricity. I'm going to talk about CBOR, which is a binary serialization format.
25:45
It was inspired by MessagePack. And by inspired, I mean, I don't like the way you're doing that, so we're going to do something different. It's an ITF-proposed standard, 7049 is the RFC.
26:01
It uses a tag-length value encoding, which is very common in networking. It only uses three bits for the first part of the tag, and then the rest of the tag system is extensible. It's designed to be very compact to write encoders and decoders for constrained devices.
26:23
It supports recursive data structures, so if you have a list that references itself or whatever, no problem. And the tag system has an IANA registry, so tag 258 has been registered, and it is a Python set, or other languages that support sets as well.
26:50
There is a pure Python implementation by Alex Gronholm, who, I hope I pronounced that right, he's going to be giving a talk tomorrow about testing in 1120, so check him out.
27:06
It works in Python 2.7 to 3.7 probably. He's just added support, preliminary support for that. It's really clear, readable code, so it was easy for me to get started.
27:21
It's got a great test suite. It captured all of my mistakes very quickly. And it's the only Python library that supports canonicalization, which is the same data going in will always create the same binary at the end of it, so your maps are sorted if you choose to canonicalize.
27:46
You can use it when you need richer types than JSON or MessagePack, and when you don't want to write a schema, like for protocol buffers, or Captain Proto, or other things like that. And you definitely want it to be more compact than XML.
28:03
I think everything is more compact than XML. And when you need to put it on a constrained device, again. What I use it for? At Flextristy, we have a lot of time series data for frequency measurements and power,
28:22
and it's really good for taking a CSV file and putting it into a much smaller, more compact format. Although Apache Parquet is probably better supported for this use and faster. It's also really good for simple passing between processes,
28:44
particularly when you want to serialize datetimes, because with JSON you have to write a JSON encoder class. Messaging for constrained nodes, it really does take up, the C encoder takes up a tiny amount of space.
29:03
You can also use it for dissecting network protocols. There's a few new protocols that the IETF are working on that are based on CBOR. The DNS grasp discovery protocol. There's also FIDO2 authorization over Bluetooth that uses CBOR as it's encoding.
29:23
And Sierra Wireless uses it for a couple of their device metrics and things. And in the future, maybe we could get it in MicroPython. I want to try doing an implementation in NIM, because that looks cool.
29:43
And yeah. And that's it. Thank you, Keo. Big round of applause, please. Take it away. Okay. Ready. So I want to start my talk with a question to the audience. Please raise your hands. Who do you know about it?
30:02
How many nodes? Maybe 10% of the others. More than I expected. So this is the second question. And actually, maybe you don't know that every time you fire IPython, you are importing the decoder to a module.
30:22
And it's not only that. Several frameworks, web frameworks, no web frameworks are important. It is one of the most downloaded packages. It has been there for 13 years, since 2005. And it actually started as a hack.
30:42
I thought, well, this will leave one year, maybe this project, because the next release of Python, they probably will fix this problem. This module, the decorator module is meant to solve the signature problem of the decorators. Essentially, I want to preserve the signature or the decorator function.
31:01
I thought this they will fix in Python. Or maybe not, because after 13 years, they're probably still in Python 3.7. Now there is the signature object, so they probably was hidden under the carpet but still there. Anyway, this shows you that the project is still alive.
31:22
I make new releases every year. This year I've done already three releases. Last year, four releases. At the beginning, 10 releases the first year. Here there was a gap during the Python 2.7, Python 3 transition. Now it works for Python 2.6, 2.7, 3.1, 3.2, 3.7, every version of Python.
31:46
It's a joy to maintain. I have very, very little problem. Most people don't know about it, so they don't ask questions, which is fine. And essentially, I do something major only when there is a new Python release.
32:03
Like, for instance, I don't know. You have async functions in Python 3.5, and I want to decorate async functions. That's a good reason to do something new. And just to make my point, what's the problem that I'm trying to solve? This is the recommended way to write decorators in Python, if you look at the Python documentation.
32:23
As you see, it's kind of ugly, because you have these func tools, wraps to call, you have a nested function. It's not particularly difficult to understand, but the problem is that it does not work.
32:40
What does not work is actually, you see this wrapper function. The signature is star arts, star, star, keyword arts. So actually, the signature of the decorator function is this one. And the documentation tool will tell you the truth, that signature is this one. While the original function of the different signature was x and y.
33:04
Okay, this is a problem. And the decorator module is able to solve this problem. Also makes the syntax a bit nicer, because you don't need to have a nested closure inside. And if you look with any documentation tool, you will have the right signature. If you use IPython question mark, you will get write senior, write docstrings, everything.
33:26
As I was saying, I had this user request to decorate async functions. And you can do it, you need this kind of async decorator. This is a new feature, I don't use personally this async stuff.
33:41
Because until recently I was stuck with Python 2.7. Now we are using Python 3, so maybe I will use this. But I'm here to say to you, if you use this feature, and you find bugs, let me know. The user who asked for this is happy. So I hope it will work out for you, but I'm not.
34:04
And there is a very new feature that I implemented three months ago. And now you can do this kind of decorators with parentheses without. And if there are no parentheses, essentially you have a default message. And this actually I use in production, because I need a decorator like that.
34:24
You can implement this in six or seven lines of code with the decorator module. Try to implement this without. It's trickier than it seems. And that's everything I wanted to say. Check it out.
34:40
A round of applause please. Take it away. Okay, so my name is Jorge Jardines, I'm a software engineer. I'm working for TrustU at the moment. And I used to say that I'm a better dancer than a coder.
35:06
And when I arrived to Spain some years ago, there was a big bubble of dancing salsa there. You actually asked almost anyone in the clubs and everyone used to dance salsa, apparently.
35:27
So this is a question that you get more often when you go to a salsa club. Do you want to dance? And this is actually what you expect to feel in the dancing floor.
35:42
But it happens that what you actually receive or feel is that. That your movements does not match with your dancer partner. And... Huh? Sounds fun.
36:01
Yeah, it's really fun. But not really what you expected. So I found some similarities with some trendy topics in our industry related to this. So this is what I understand by salsa or by dancing in general.
36:24
Is that you need to keep the communication with your dance partner. You need to make sure that you both are found, not only one side. You need to listen to the music. And you need to keep the tempo.
36:41
So I found really that the issue is not in the way you dance or the way I dance. The issue is that we don't teach this from the very basic moments when you start learning. We are so focused on the figures and we don't go to the basics, which is listen to the music and keep the tempo.
37:05
So if you do less figures and keep more the tempo, you maybe have more fun. So in our industry we found so much this question.
37:21
And the people are always saying, yes, I am Ayaya. What do you mean by Ayaya? We do stand-up meetings. We are fast. We even do continuous integration and we do retrospective time.
37:50
So I don't know if you see some parallel lines here. So salsa is trending, Ayaya is trending, everyone dance salsa, everyone is Ayaya.
38:13
I feel the same. So I guess that we don't dance the same Ayaya at the end.
38:25
So what I understand by Ayaya is adaptability, risk management and learning and innovation culture. So still we don't dance the same Ayaya, we don't do this in my opinion. We need to have real continuous integration, continuous delivery, cell study code, code
38:47
quality, embracing the change, the boss culture and continuous improvement culture and refactoring. That way we will feel like the real picture of dancing as couples.
39:03
Thank you, that's all. What a great search in the evening. Thank you Jorge. A big round of applause for all our speakers this evening.