 Before before we move to the lightning talks We have a special announcement to make so I would like to Announce Naomi Cedar. She's a director of the PSF and she has a special announcement to make so please Welcome Naomi It's like the tech could you put the standard on please? Well get rid we don't have any Laptop here so okay stage zero. Okay. Thank you. I yeah, I have a brief moment of PSF business to take care of And to that end if I could be joined on the stage by Mark Andre Lemberg, please You may know that the Python software foundation every quarter awards to people 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 And if I were to tell you all of the things that Mark 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 Europe Python So he's done a lot and in fact the problem is we couldn't recognize him because he was always on the committees in the groups that We're 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 Europe Python and with Alexander's help Maybe we have surprised mark 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 in recognition for decades of service core developer Python software foundation founding member PSF board member Europe Python organizer board member chair with great appreciation mark Andre Lemberg. So Thank you all, thank you. It's been a pleasure. Thanks. You really surprised me indeed Okay, so we've had some practice at applause awesome 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 you really took the a challenge to heart. This is awesome Can we have? Pavlo, he has a talk about 18 conjuctor here and can we have Jill with make your buck talk up to the front of the stage somewhere. It's awesome There's already had a good second day at the conference Yeah, he's using good talks We've got amazing weather. It's not normally like this the average rainfall in Edinburgh is a hundred and ninety one days of rain per Year, so that's every other day and that doesn't stop in July normally Okay, all right, take it away on Windows yes Hello, hi, so let me start the timer. Here we go hi, so a Secretness programming was a quite a hot topic during this conference. So I want to share a couple of recipes with you So I'm gonna be showing some code. There will be a live demo. So if you want to follow that's the bitly links of bitly Async hyphen Jupiter Let's get rid of the help. Here we go. So two things that I want to share with you is if you upgrading your Jupiter notebook environment and you notice like tornado got Upgraded to five point zero. It may break your Async code in your notebook. Don't be surprised and second thing. I will show how to run I pie widgets asynchronously Instead of synchronously. So actually I'll start with live demo without further do 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 I pie widgets on the left-hand side. We have asynchronous I pie widgets by the way I pie widgets If you're using Jupiter I pie widgets are great if you don't know about them. Have a look at them use them So let me see what I mean between so let's go ahead and run both this one, all right so Widgets require handlers so in interactive stuff. So you change something on the on the screen You need a handler if your handler is for whatever reason for slow like I have it here Time dot sleep so we sleep for only point three of a second. So it's a slow function But let's see what happens if I try start dragging though that slide and you see the top do you notice the top so the top number represents the argument and It updates on the same thread. So it becomes. Oh, yeah, they probably yeah, it's become slow Let's see what happens on the asynchronous side 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 So here's the bit of code That does that. Okay, and the way we wrap it. We attach This curtain using To an existing loop, okay, so that's first part done Yeah, done that now. Yes, so the bad news Tornado 5.0 may Stop your asynchronous async.io specifically async code from working because they started wrapping async.io loop So you cannot stop. So when you start it like the loop is already running. 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 We can actually go ahead and check that 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 a attempting to start a new loop. So also live demo So there was a delay behind edit point point seven of a second delay Here we go. So we The way to solve it is just create a task and add a callback to to your future Okay, 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 more intuitive to basically to do it asynchronously. Yeah And it works in a notebook. 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 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. I'm not that smart So I found a way to make your bot Talk So last year I give 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 one to six. This was the code 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 Honestly, don't know but if you send the same message to Twitter, it will it will block You won't let you send the same one. So After a few messages, 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 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 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 over again. 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 pie tracery which translates by tracery into Python now. Sorry about sorry about this Let's see some code So this is the grammar and yeah, no, this is I'll show you something better if we Wow Just arch Linux things That's okay. Let's make it work right so So as you can see some things change it change here So as you can see we have an action and A noun so we can just 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 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 What it does is the 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 dot s you see that animal with the dot s over there That makes it plural Yeah, I was going to say yes I see monkeys dogs pigs and I only had monkey and dogs So to finish this one thanks human beings also this talk was made with that Can I do I have time to show the code? Yeah? Yeah? Okay? You talk I have another one The one that breaks. Oh What yeah, this also breaks what's he called? You talk so, yeah So basically these are the options I could have said Cheers lads or choose cheers chaps or cheers human beings Yeah, that's it. Thank you. Awesome And so to include if you'd like to take it away with Python package scaffolding Yeah, hello everyone. This is my first the Euro Python lighting talk So I wanted to talk about make a Python package in one minute because I find in that There's not such a case in Python community to make automatically Make a package and for that I wanted to you if you have a laptop left up already so you can do now peep install Yehua and then we continue so what I will show you is a live demo and in the end in one minute you have your own Package so the objective is that you do Make your publisher scripts your from your heart is to pie pie and after talk. It's a very easy See one minute So what I'm going to do is a quick the Python package in one minute and then she added on the github and the publisher to pie pie That's the objective And I will talk While this the script is running. I will talk why I think is quite useful in this regard Hopefully it's already I installed my utility. So So what you need to do is that project name let's say put your Python to 2018 so showcase Python a package Scaffolding This is most time-consuming in doing this one minute. So And then for GDPR, I'm not showing my emails so your email at your Yeah, and usually in normal case I used to put your email just here so that users can contact you and For this mobile, this is a organization. I put it as this is a real organization again This is real one and and put it on and let's see Like this and now I'm going to make a command line interface So I press two and then command line name. Let's say you look at on 18. Now we have the namespace back So, oh, oh, sorry. I got there. Sorry a bit. I should choose to Okay, sorry I Still got time quick. I can still at home. Okay unlicensed. Let's see Okay contact email for now to save time and then and Then this is the choice should come on the line interface and then now is EP 18 Okay, now it's doing the job so I can you can each other talk So why why this talk? So you got a cool Python suite in the hard disk? Why don't you share it? Why so you share it on pi by I can everybody can use so but then it says I need a set up the pie Independently so Kenneth reads had a set up by a set of pie project Which is a template you can copy and paste. However, you need to copy and paste by yourself So it got 2800 stars at the moment and in addition you probably want to supply set up the CFG so so as that you can build a universal views and Can you put on the github as well so that I can contribute? Then you need to read me. 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 and for that Psychologically it takes more time than just it takes right this is so many fires for each project I need to do that and Then last question is do you want to repeat yourself every time you got a script? You want to share to the pipe I and a github you do want to repeat that so now So hopefully that has done the job is here So the the script says everything's up today, please review the changes before commit so everything's ready So what's what's needed for you to do? So what we needed to do at least do something so you look I done with you look I don't we do main and say deaf main Let's say Hello World world, sorry So that will be end of supposing it's your main file. So let's say we wanted to install That's it and then okay. Thank you. Jen Fu. I'm afraid that's your time up So Marcus is gonna talk to us about bike on a you in one minute one minute, okay So at we had a yesterday a talk that verse from the Antarctica You don't need to fly as far as there and you can fly actually fly then next month in end of August August 24th to August 28 Pike on Australia is gonna happen There's four special districts on the Friday one is about security and privacy one is general connu One is about education one about internet of things and the general conference has about 50 talks for invited speakers and It's generally a pretty amazing conference And there are also sprints on Monday and Tuesday and yeah ticket sales open. There's still tickets available They're still last time I checked flights available to get down there Yeah, thank you Look ma no slides old style like me started my program professional program career as program in 1984 35 34 years ago Start learning in 80 previous century And at that time some people told me, okay, you are doing a developer cool last a couple of years and after you will move to something else sales Clients whatever Lots of people don't that Personally, I think that that people don't like program go into program as a step to go somewhere else. I love program But I Still in buisness After all these years as the Sun say because I have a problem 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 their fast moving change To have someone that get bored easily and here I am never bought 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. 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 some people say is that most powerful emotion is love But perhaps love it's just a state of profane gratitude to our partner and I would like Manifest my gratitude to the speaker of yesterday to X singleton 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 and so for that of Course it needs a Major part needs that I know myself very well so self-understanding is a Keep part so I can know What I am and put it at my service Time mark you have two minutes left. Thank you So I would not say to you to go vegan 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 go going entirely vegan And it raises a lot of questions, but one thing I can tell you I Never felt bad better in my life. I never felt with more energy. I never felt In a better mood even for for programming. I never felt My brain my mind working less cozy and Yesterday I have the honor To meet someone that I have never met before as the person of the kind of person someone that is Vegan from birth because have the lucky enough to have Vegan fathers that rise of their child as fully vegan and That out to rise me to refer to himself. That is our colleague. Hanyeri. So, hello, please if someone Wants to know more about their experience if someone he's Preparing to rise a child or have friends preparing to raise a child 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. Wow. I'm ready. Awesome. Take it right here. Hi. I'm Kio Smallwoods I'm a recovering cis admin I And recovering pearl programmer I work for a company called Flexitricity I'm going to talk about seabor which is a binary serialization format It was inspired by message pack 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 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 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 The there is a pure Python implementation and by Alex Gronholm who I hope that I pronounced that right He's going to be giving a talk tomorrow About testing in 1120 so check him out 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 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 You can use it when you need richer types then JSON or message pack 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. I think everything is more compact And when you need to put it on a constrained device again What I use it for At Flex Tristy, we have a lot of time series data for frequency measurements and power 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 Particularly when you want to serialize date times Because with JSON you have to write a JSON encoder class anyway Messaging for constrained nodes it it really does take up that the C encoder takes up a tiny amount of space You can also use it for dissecting network protocols as a few new protocols that the IETF are working on that are based on seabor The DNS grasp discovery protocol There's also phyto to authorization over Bluetooth that uses seabor as its encoding And Sierra wireless uses it for a couple of their device metrics and things And In the future Maybe we could get in micro Python. I want to try doing an implementation in NIM because that looks cool 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? How many knows? Oh Maybe 10% of the orders more than I expected so This is the second question and Actually, maybe you don't know that every time you fire high python. You are important the correct module and it's not only that several Framers web frames no web frameworks are important it is one of the most downloaded packages has been there for 13 13 years since the 2005 and The start actually started as a hack. I thought Well, this will leave one year may be this project because the next release of Python They probably will fix this problem that this module the decorator modules meant to solve the signature problem of the decorators that Essentially, I want to preserve the signature or a decorated function. I thought this would they will fix in Python Maybe not because After 13 years the problem still in Python 3.7 Now there is the signature object. So the the problem is Was he then under the carpet by still there? Anyway, this to show you that the project is still alive. I make new releases every year This year I've done already three releases last year for releases. Okay, the beginning 10 releases the first year then Here there was a gap doing the Python 2.7 Python 3 transition Now it is the working it works for Python 2.6 to 7 3 1 3 2 3 7 every version of Python. Okay It's the 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 Like for instance, I don't know you have a sync functions in Python 3.5 Then I want to decorate a same function. That's a good reason to do something new and just to To make that 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 as you see is kind of ugly because you have These func tools wraps to call you have a nested function, but it's not particularly Difficult to understand but the problem that is not does not work What does not work is actually you see this wrapper function the signatories star arcs star stars keyword arts So actually the signature of the decorator function is this one Okay, and you're to the documentation to tell you the truth that signature is this one While the original function of the different signature was X and Y Okay, this is a problem and the decorator model is able to solve this problem Also makes the syntax a bit nicer because you don't need that to have a nested the closure inside and If you look with any documentation tool You will have the right senior to refuse I Python question mark. You will get the right senior the right dog strings everything As I was saying I had this user request to decorate Async functions and you can do it and you need this kind of a sink decorator This is a new feature. I don't use personally these are sink stuff because until recently I was Stuck with Python 2.7 and now we're 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 to ask for this is happy So I hope is I will work for you, but I'm not and there is a very new Feature that they implemented three months ago and now you can do this kind of decorators Okay, we've a parentheses without and if you there are no parentheses essentially you have a default message Okay, this is and this actually I use in production because I need a decorator like that Okay, you can implement this in a no six or seven line of course with the decorator module try to implement this without It's decree trigger that it seems and that's what everything I wanted to say Check it out Take it away Okay, so My name is Jorge Jardines and I'm a software engineer Working for trust you at the moment and I used to say that I'm a better dozen than a coder And When I arrived to Spain some years ago There was a big bubble of dancing salsa there You actually ask almost anyone in the clubs and everyone used to dance salsa apparently so This is the 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 to feel in the dancing floor? But it happened that what you actually receive or feel is that that your movements does not match with with your dancer partner and And Yeah, it's really fun, but not really what you expected so I Found some similarities that with some trendy topics in our industry Related to this So this is what I understand by salsa or by dancing in general 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 You need to keep the tempo 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 are start learning We are so focused on the figures and we don't go to the basis which is listen the music and keep the tempo 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 and the people are Always saying yes, I am I I What do you mean by I? Well, we do a stand-up meetings We are fast We even do continuous integration and we do retrospective time so I don't know if you see some parallel lines here So salsa is trending a y'all is trending everyone dance also everyone is a y'all I feel the same so I guess that we don't dance the same I I at the end So I understand by Alice that that ability risk management and learning and innovation culture so Still we don't dance the same I Alice we don't do this in my opinion We need to have real continuous integration continuous delivery aesthetic code co-quality Embrace embracing the change the boss culture and continuous improvement culture refactoring That way we will feel like the real picture of dancing as couples Thank you. That's all What a great search in the evening. Thank you. Well, hey The big round of applause a big round of applause for all our speakers this evening