 Vitaly will take the first five minutes to deploy a projector app He already tested it If at first you don't succeed with Ali walking, please give him a weekend Everybody my name is Vitaly bochman, and I'm a software engineer at cloud log But in my spare time, I like I like to hack things together and to try new technologies to build some applications And I really love docker for this. So I like to dockerize my applications and At some point of time you usually real well usually you usually want to deploy your application somewhere and Docker it's not only about docker engine. It's not only about running the containers Docker also comes with a bunch of Few nice and handy tools for example docker compose where you can declare your define your application in a simple y-mail file Like there is a database that there is a ready is there is my application and they just runs all these services One another handy tool is a docker machine. So they come docker machine is a interesting tool to For orchestration and managing Your notes so it can Also, it can create Amazon EC2 instances. It can create digital ocean droplets virtual box machines and so on But what do you do next so when you create a new instance you usually want to Provision it somehow like install some tools like h-top or something you may also want to for example, configure your firewall and That there is a handy technology for this it's called cloud in it and in the documentation They say that cloud in it is a de facto Multidistribution package that handles early initialization of cloud instance Well, I never heard about that tool until yesterday Anyways Cloud in it allows you to define a simple cloud config final file Where you say, okay. I want to install the h-top. I want to to upload this script and execute that script I want to it allows you to add users to the system to add groups to define which users Participants of which groups and stuff like that so and the only thing that you need the only thing that is left is to create for example digital ocean Droplet with the docker machine and Say, okay use my cloud config vinyl file to provision the instance and that's all in a couple of minutes. You have a brand-new shiny droplet with everything installed with everything configured and All is left is to run your application with the docker compose That's all I have. Thank you. Thank you very much excellent Wonderful we need Jeremy to set up. How did you like today's lunch? I really liked It was pinchers and I think it was scalable micro food Which we could all see because we had zero food cues to do the scheduling Very good still setting up So if at first you don't succeed skydiving is not for you also Lightning talks is not for you today because we have to be very quick and very thorough with the projector So give a big hand to Jenny So hi again, first of all, my name is the Ernie Makushek. It's not that hard come on so yeah Couple of months ago. I was working on a Google project and being a Google repository. You of course want to make everything Right to the first time There was a lot of things going on and as a team we learned really a lot but I'm Today I wanted to share one of my frustrations with the Selenium environment the community not only the Python community, but also the Java community and What I'm trying to do about it Sorry, okay, so as someone that is okay so the task was to write a end-to-end test and Selenium seemed like a good tool for that and When you're writing tests, there are a lot of different problems you have to solve and One of them is that things are changing all of the time So there are cases where your front-end engineer is changing A component for various reasons and of course Once it is changed the test will fail and because the tests are failing you can't merge things and so on And there are a lot of different problems or other problems that you have also That you have to solve For example Single-page Implications are popular lately. So you have to model that somehow There are good practices like page object models and so on and Yeah, once you Get all that knowledge and you know the good patterns. There are still Exciting acrobatics you have to master And there are funny things to model like infinitely Here's an example Yeah, and of course what will you do if the application is flaky Will you measure that will you ignore that so? yeah, and Once you get to model the page you have to of course structure the test as good as possible and One of the steps are to model the elements themselves and On the left side are the examples and on the right side is the code That actually works So you start with simple things like that, but the problem with that is that you can't find Reusable components on the web anywhere at least I didn't find it So I started to write a library and I am planning to publish it And so I said simple things like that are not a not a big problem Although they take like half an hour to implement, but it gets interesting. So imagine you have to model like Textbox where you have to filter a string and you have auto completion and You have to once you enter the string you have to select one of the members Not so trivial anymore And it gets More interesting. So here we have a rich text editor because why not? and Here you actually have to play with iFrames, which is pretty interesting with Selenium Yeah, so you end up with models like that Here on the left side is a model for date picker, which depending on your front end engineer we who is using either Material you are react components or whatever Might be trivial to implement or not, but in any case you have to do it Because there isn't a library for models anywhere Um, yeah, so a bit more things So to some of the models require really a lot of logic for example You can select something only when it is clickable when Selenium signal gives a signal that you can actually or the user can Actually click on it So you end up not only with a library for models, but also for interesting robotics with Selenium This one in particular is very useful useful and it took really some time to get to dissolution Okay, five more seconds. So that's the future where we want to go have models for all things and here it will be published. Thanks. Thank you very much David Terry and Anja, could you please connect with Kona and also Anton Located about Picon D. All David go up connect Connect with him so that you can put the presentation on one laptop. We have Picon Poland. We have Picon Germany Terry He's going back and back go up do it do you know Rick Astley Has a very good collection of Pixar movies and he's very generous in landing them except one He will never give you up Model-based testing with graph walker David Terry big hand Hey, so my name is David and I'm gonna talk about model-based testing One of the challenges for me when I'm testing application is that as the number of potential states in the system increases the number of Paths that a user can take through this application increases in a kind of like really fast way exponential or something So it's not really feasible to write handcrafted tests for every one of those paths But what you can do is you can model the system or more realistically like a component in the system as a graph or a finite state Machine and then you just generate your tests by walking over that graph with some until some kind of end end condition is reached This means that the tests are more declarative like you're just defining What should be tested rather than the actual mechanics of testing it? The tests are less coupled to the application code So if you change a state or some other bit of your application you just need to change the tests in one or two places rather than lots and If you walk over the graph in a random way, you can actually find new bugs with your tests Which I think is pretty cool But it also does me the test and not necessarily always the same So to demonstrate this and made here a little kind of test up It's got a login page. You can do a good log in log out a bad one And then there you can log in again Yeah So then this if it's muddled as a graph looks like this you have your nodes which are the states that need to be verified the first page the error page and The logged in page and then all of the edges are the actions to move between these states So graph workers actually a Java library. Sorry, but you can combine it with Selenium and it's still pretty practical I think and what so I just like the idea so Yeah, you model your graph as a graph ML file model And then graph will take this and it would generate interface for you to use which It's crashed which looks like this you have just a method for every edge and a method for every vertex and Then when you want you can see it here When you want to write the tests you just override each of these methods. So here this is just Selenium code for selecting element and clicking on it and Down here selecting an element and asserting that the text is a Certain value and then when you run the tests it looks like this Yep, so 100% edges 100% vertexes Yeah, that's it. Thank you very much Excellent Please consider to scale up here. Where's team koala? Is team koala near enough? Okay. Be prepared to scale after Raphael Is she my and oh wow Wonderful, it's already there Excellent give a big hand to Raphael But considerations at scale A little bit of nature So a lot of breath has been spent at this conference talking a lot about Technologies where you have active compute going over your data all the web technologies But what happens when your data is too big for that? I'm talking about after spark has fallen over which it did about 10% of our daily volume At that point you're dealing with petabytes of data You're dealing with hundreds of users accessing your data in a very very very concurrent fashion So how should you tailor your access patterns so that you don't fuck it over for everyone else? based on some work by Robert Grossman at the University of Chicago, we've come with a basic idea of what a Scalable algorithm looks like if you have x amount of data and you have x amount of compute resources It should take that much time But if you double your data and double your compute resources time should be invariant That is a data scale. That is a data scalable algorithm It will work over any size of data if the amount of time goes up You should refactor your algorithm or buy a cray and if the time goes down. I really wonder what you're doing Now scheduling the work if you're doing if you're working with large-scale clusters like at the national labs or at big companies You often have a scheduler Help spread the load over thousands of PCs and when you're working with those there are a few things You should do to be a nice person First of all if the time that your job takes is less than the time it takes to schedule your job You are doing something wrong I cannot express to you how many times I see people who have jobs that run at a tenth of a second and yet It takes two tenths of a second to schedule the job if you are never actually Filling any of your nodes. You should think about batching things differently speaking of batching most scheduling systems offer ways To take several jobs that are the same type with slightly different input parameters and simply pass in the job once and then An array or whatever else to pass into the job many many many times for all of its instances. This will reduce Scheduler overhead also Don't fill the queue. The queue is not a storage place for all the work you ever intend to do You can knock over schedulers. I don't care how bill how big you build your box a million jobs Is still a million jobs over your 10,000 slots? It's a lot of work if you want to be really sexy you can use something like DRM AA or as a pronounced drama to programmatically do all of this Have a quote makes this presentation feel deeper Now scaling data Your approaches to data. It's nice when you have tons and tons of salary workers doing little things against your live active databases when No offense hotjar, but you know when you're at hotjar sized data Just because you guys decide to publish how much data you have now when you're working with Far larger amounts of data remember that it is always faster to go across the network than it is to go to disk I don't care if it's local disk now We're scaling and kind of the inverse of TV TV We already have 4k televisions and maybe next year. We'll have some bloody 4k content but for now we already have tons of people promising the world to every single investor about big data and Maybe next year will have the kind of compute that can make you run reddus at five petabytes But until we do Remember you're gonna be using a file system and when you use file systems You want to be moving data and not metadata. Sorry Hansel dude That's not gonna work at scale and so when you do this you will fuck yourself over on metadata operations There's no way GPFS scales this you can try this with object stores But you're just moving stuff that doesn't matter to what you actually want to be doing Please use a packaging format use htf5 use something where you're going to be having fewer metadata Operations in comparison to the amount of data you're moving. Don't put your logic in your metadata lastly Think about how you're doing concurrent or coalescing your IO You can read read into RAM somewhere on the network Push it around do the work with MPI ranks great way to do this Other sorts of multi-processing. There's all sorts of ways to do this We did find that when we tried to run with all of our data at scale over spark 95% of it was pickling there are better ways to do that But you know figure out what works well for your data and then bring it all back and write it once that way You coalesce IO you use IO that is large enough to make sense most block most blocks on devices are 4 meg So if you're doing 4 kilobot IO, yeah, think about it, and you will be a much better grid user. So Thank you very much. I'm 27. I started on Fortran and it's great to be on Python very good Team quack Thank you very much Rafael. Our next speaker will be team koala. Please set up We have three conference announcement here Anya Anton and fuzz under so we blocked you clustered you together and you'll get six minutes You can fight with each other who will get how many minutes. I Was still on the program channel that was what sound sound there is a plug-in for sound if you still have this Very good. That will be harder if it's cancel and we have to go we are usbc We can't hear anything though Okay, you're good. Okay, so give a hand to Tim Kya la koala So we actually had somebody setting up at seven to deliver this lightning talk to you So this one is about crazy ideas about those kinds of ideas where everybody is against it But because it just seems not realistic Such as developers doing marketing So yesterday evening at 9 p.m. We had such an idea and everybody was against it But we did it without any experience without any equipment and without time and Actually, this was also how the koala project started So when you have such an idea try to do it and here's what we did just to prove the point And because it's awesome. His coding style was really bad And when I say but I mean like really bad Well, I guess at some point you just couldn't stand it anymore. He was really pissed But little did you know but we were working on a tool that would change his life forever able to take on the world to the box Cheers, I am here. I can tell you I don't have a lot of patience But what I do have are a particular set of tools tools I've acquired over a large number of comments tools that make me a nightmare for a box like you I will look for you. I will find you and I will fix you Thank you very much Are you please turn up the sound turn off the sound turn up the beat please The three and I will set up the timer to six minutes. No What why eight Yes, three times two is six We we have three times two We have two minutes per conference And we have Armin Rigo who has a doctor at a conference Picon Argentina Pigeon Argentina Falcunda but is that a python? Wonderful, so you indeed have nine minutes Excellent Fathunda but is a python Argentina And he cheated now it's pie. Okay Give a big hand to Fathunda Hola, it's working. It's not working. Hola. Yeah, hola So Python Argentina, right? so we We presented part of these previous years we you kind of know what we do we just Try to communicate everybody in the country To be the central point of reference everybody trying to find what Python needs try to Contact other Python developers to have cold peers or to hire people or to sue people or whatever I mean, this is if you pronounce Python Argentina the idea is for you to find that What you need? so We have a big community. We say that in Argentina Python is about the people we have a mailing list with a lot of people that Luckily, it doesn't have we have a very good nice Noise information radio We have a channel in free. No that we call the channel of love not because we are kind We are kind people but also because PR in indie means love. So that gives us funny situations We have a web portal with the standard things show board Etc and we have the official tutorials for Python 2.7 3.5 and Django translated to Spanish Published in HTML PDF and some as sometimes we print them to to distribute to people which is very nice So some words about last big events we had we have a pie corn last year was our 7th This is a standard conference people watching people talking people talking people talking people talking people in the high in the holes We also have a Pie camp this is more fun is we have this ninth This year this is for a lot of what kind of 30 people going to somewhere Just to code for four days code code code people coding people coding people designing stuff people talking about the design People also having meetings. We have Python Argentina meetings there with of course wine and we've got of course asado People luncheon together. That's a pick up Nice ways nice places to take a walk and of course learning how to fight for real What we will do next well, we have a pike on Argentina this year in November in Vallablanca. It's a very nice place You can go if you if you have a span if you know Spanish you will enjoy it a lot if you don't know Spanish you will learn so We will have a pike camp next year We still didn't plan if I but it's one of the best events of the year So we will have a pike camp We are finishing in the following months and the non-profit so we will be came unofficial legal entity that the idea is just to help the community to Handle money, etc. So, thank you very much Oh Okay, now Anya will talk about pike on Poland and I will get down the time to two minutes You be kind I'm here on behalf of organizers and I want to Tell you that pike on Poland is actually the fourth all this pike in Europe and there are plenty of attendees coming already a lot of them registered from all around Europe and And it's so cool that even Europe height line up is so cool that even Europe height that follows that and It happens in mid-October in Osta near Warsaw It's everyone is gets an accommodation in the same hotel Surrounded by forest. It's really lovely there But worry not about getting there because there are gonna be conference bus transfers from Warsaw So only worry about getting to Warsaw, which is not that hard. I guess There are five trucks at least half of them are in English. So you're gonna understand most of it, I guess There are plenty of other activities including coding challenge that finishes in early morning hours We play board games We have like amazing life music even Hotel offers a lot of attractions itself. We also have social dinners look lovely These are the current prices We also are gonna have a beginner's workshop where we're looking for sponsors Especially participants and mentors go to the website checking out if you're interested If you have any questions, these are this is the list of ambassadors You can always ask for details, but also visit our website pl pike on org for more information. Thank you Excellent one minute and 30 seconds. That's the new record for a conference announcement great Now the Germans will prove that they're even more efficient Anton Hey guys It's really great to see you here Thanks for making it through the five days of intense talks and still attending this one I will not take much of your time. I'll have another record on the lighting talk I hope so as you might guessed already, I'm here to bring one more awesome event to the Python universe it's spike on the E and It will be held on the last weekend of October. It's Friday Saturday Sunday Friday would be a workshop day and spring day and Saturday Sunday would be talks We'll have three tracks will have a German track English track and we're working on the business track Obviously, it's German and is Bavaria So everyone is invited for some good beer good quality talks some sharing of the engineering power and of course of developing Python So guys, I guess I would contribute last few seconds to just reminding that our community is awesome Generally, you see this conference. How well it's organized. It sets quite high standards for doing other conferences So we are kind of under pressure now, but I think my last five seconds was a bit of a plus for Europe Python organizers German efficiency done Thank you very much Anton now. I need shy a fratty shy You're here. Please set up on the other hand You have different fingers took a time so I I wanted to use a moment when somebody is struggling with his laptop to talk about offense there was an English philosopher Jimmy Carr He said offense can't be given. It can only be taken So give a big hand to the Helinator Oh, I'm shy and I'm from Israel. So we don't say Helinator we say I'm actually not showing my own project. I'm showing Tom's project with which is a friend and a colleague and This project is already live and I will start talking about it now. So Get upstairs and do you use it? Yes, use it. Do you use it for bookmarks or do you use it to show appreciation to other people? Both okay, but are they useful as a measurement tool for other people's project if they are good or not? Yes, I don't know. Okay, so I had discussion with Tom This is Tom and I had a discussion with him and I asked him How come Meteor has more stars in a jungle or flask more than jungle like what kind of measurement tool is it? and we asked a mayor which is this guy and mayor is a Really professional a developer at our company and he said I don't use stars at all and we asked him So what do you use and he said I use Pull requests and I use github issues and I use Yeah, and number of commits a number of contributors so Yeah Just do that So, okay, good get up trending. Okay, get up trending We all know that won't know it and we saw the stars and it's only ranked ranked by the stars. It's not a good way of measuring Projects a quality so Tom created this project which called the Krichelinator and the Krichelinator is measuring a project by the Like real quality like number of contributors number of commits number of mails pull request proposed pull request closed issues and known new issues, sorry and Unfortunately or fortunately it is written in elixir and not in python Because he really likes to learn new technologies if you want to know how them measurements is being is being done right now So these are the factors. It's a bit random. We might change it in the future if you have any Suggestions you can put it on the github project which is here and Oppa, sorry So about the technology of their project it says scraping the github Website every six hours. It takes a random project and it can compare them to the 500 Good projects that are already in the database and if they are better it replace them And there are 16 scrapers that are doing the job because it elixir it uses there like a High efficiency efficiency of the language and actually that's it. Thank you. Thank you very much Thank you. I'm a child last closing last You're already up here that that's good. That's excellent. So if he's already up here I need oh you you renumbered does anybody remember the command renumbers Nobody developed on Commodore 64 Anyway last thousand about live hydrological modeling with 3d. I give him the can't Hi guys, I talked to a couple of people the last days and what I do Or what I've been doing for the last one and a half years and Encouraged me to give a lightning talk because they thought was interesting. I thought I give it a shot So now I'm here terrified and Anyway, I'm gonna talk about life hydrological hydrological modeling I work for a small consulting firm in the Netherlands. It's called Leyland Schumann's I put the name up there so you can actually understand what I just said And I'm gonna give you a quick live demo. So this is our application and it allows you well, maybe I have to go back quickly and Tell you what hydrological modeling is anyway. Yeah, so I try to make it real quick It's a mathematical model of physical forces that affect water and how it flows and We use it basically for predictions. So But the cool thing is you can start your own simulation, but you can also Follow along a simulation that has already been started. So in this case, I asked my colleague Mattine to To run a simulation. So this is based on basically on Redis pops up mechanism and all the action he's taking Well, I also Yeah Communicated into my direction. So you can see he's interacting with the map. I just can follow along I can't I don't have any powers to do actions myself So you can unfollow you come back to this screen. You can start your own session I'm gonna start this model It's gonna take a while because I'm gonna Show you some main components of the application. We have a service service. It's called impi and it converts basically a special light database file and some rest of files and files the Calculation core understands. So what's the calculation core? That's where the Actual Calculation is done. So it's called 3di core and it's written in Fortran so I think today is a good day to give this presentation anyway because of the talk keynote this morning and because Well, our application actually is a case where web development and Scientific coding comes together So we have a machine manager. I just when I started simulation. I did a call to the machine manager and That service is responsible for starting killing and running docker containers So we also have a socket server for a more static content And we have the docker container that Yeah, that has that is an isolated environment for the calculation core actually We also have a web map server that serves all the Well the the the the the web map layers like rusters and vector data And all of course not but first Let me first give you Give you impression like what you can do because on the background Well with the play button you can start the simulation So you see some elements start to respond to it You see pumps that are pumping water through the system. You see water flowing that are the little Balls, but you can also interactively Influence the modeling so you can for example put some constant rain intensity onto into the simulation you can ask for historical data and Well, we have some predefined rain Events that occur so and so often within I don't know a period of time and That is being translated live Into an empire area, which is then passed on to the calculation core that does all the equations Well, it's not all of Python, but our stack is well consists It's not complete, but we use a lot of Django Geo Django Zmq Redis For caching and pops up Angular and leaflet Thank you very much. Thank you Excellent I need Leonardo Santagada to come on the stage real quick I need the lady or the man who proposed to talk about how to scale Python for Excel users and Who can't afford a name to come to the stage to be prepared? I? Need Hugo Herta you was it you with the Excel users excellent, that's Fabio and Hugo Herta just as a backup. Where's Hugo? Okay. Be prepared after Fabio Maybe we can get you so give a big hand to Leonardo about It's about conch. Yeah, I'll just get to that So someone told me it's better to have cold on slide. So I did it's only cold now So for I guess 10 20 years of my life I've been doing bash as my shell and I've been quite happy and then I'll be doing like this Santagada That's my last name and then I see this kind of code And I have to fix it and then I get crazy and I say no, let's do something better So let me get out of this Okay, so I switch to Z shell which is much much better And oh my Z shell if you're still using it. It's good It does a lot of things like a cool prompt if I go to something like this It'll show me some Some stuff so that's good But when I have to fix it and I have made patches for for it It's terrible again, and then I said no, I need something better. So let's me get out of this And I moved to fish Fish is an amazing shell Yeah, it's going to get better so don't don't clap now Even better so fish is nice But I got tired of fixing the shell I'm in every time in a different syntax and with little different things And I was like no, I'm not fixing fish. So I went back to Z shell for a while, but now I got something better So I like ah, oh One of the nice things is that fish has live syntax highlighting So you're typing this it knows it's a command and if you put a if it will know I String it knows it's a string so nice, but yeah, okay so Conch is a very nice shell just show the website in a while. It's a very nice shell. It's all made in python It's amazing. It uses prompt to kit that was presented before so it does have live Things it is very nice to try to help you in everything that you do and then I can show you I started with No, this was supposed to be bigger, but it's fine so Now we are in python land, which is awesome. So Variables have types. Oh, that's so new and you can concatenate stuff and And do all the kind of stuff you want to do but never could in shell for example It's my first time. I actually implemented something to go to a To go to my goal source directory into my projects It's a very deep path if you know how this works and I even did the auto complete Which is completely crazy in anything besides conch so Finally this works and I'm happy it's Python. So I don't have to learn a new language The project is amazing the people doing it are really nice. They I already did like triple requests. They They they actually Actively told me to always be nice to other people when reviewing code and and doing pull requests and everything else Which is really nice. So you see everyone is trying to help you to get your code in and not Like every other old shell project. So that's good Installing it is quite easy. Just by pip3 installed. It's a python tree only thing Which is also good. I think Hopefully you also think that's good So that's the website conch that Shown dot SH I guess so you can go there and read more about it. See a little video about this and Yes, it's very nice. I still have a minute. So let's see a little bit of people that actually know how to use it using it So, yeah, very nice, I hope you all switch to it or And if anything bad is still not happening on it, please report the bugs. We can try to fix it That's it. I hope you have fun and stop having terrible shower scripts everywhere Thank you Thank you so much Please I got a little feeling like inception when he went out from one shell to outer shell to outer shell to outer shell And I still fear we are living in some kind of shell Can somebody please exit now give a big hand to Fabio about how to scale Python for actual users cool, so and I want to talk a little bit about project and recently working on so we saw now keynote today and and in the science world there's one thing that struggles a lot of people in which is Probably the most used Tool for data science or everyday data science is actually Microsoft Excel It's even my mother can do some stuff there. It actually has a The right UI and and the right It's the right tool for those kind of problems, but it really doesn't scale for really interesting problems and really hard hard problems so every time How many people here work with related data science or by data tools and stuff? Not many How many here I actually had someone asking them to to use Excel files and run some Python code over it Okay, that's quite a lot Who here have heard about Jupyter notebooks? Cool. So basically That's the one of the first thing you say to someone using Excel like try your notebooks And you try to write some small piece of code and if you just you just use some of the Python libraries Consume Excel and that's it. Well, that's not really the case because most of the time the Excel users are not even By far related to programming. That's really hard. And there's a really hard learning curve for them. So In the yield world you would have something like Jupyter and somehow install and you would write something for them or they would just Write themselves. So this case, let's see. Let's see I have a function that basically just use a scikit-learn and clustering algorithms to find clusters in the data and since I'm I'm Writing this for my mom. I'm actually writing some nice documentation telling how to use it Sorry, how to use it and Explain a little bit more So in an ideal world We would have somehow Plugging and they just could say, okay, let's use this thing and it will load the notebooks. I have on some somewhere and I could consume it but since Excel users, they don't have really Nice good filling with code. You could present and expose functions that are written Jupyter notebook to the Excel users. So in this case, I have two functions the one I showed before is clustering and You can you can check documentation and see what what I've written it links to external links So like you can check stuff here. Oh nice. It uses clustering You can actually check and say, okay, let's let's try this thing with some Excel data here and And So let's say I have noisy circles here all numbers because we like numbers, right? I don't Not sure I have enough time So say I want to take some data from Excel and say takes a like the data call it circles Cool confirm Then I say, okay, I will use I want to use this clustering thing and with circles and use mean shift algorithm and Very likely here. I would tell just to use Run on change so every time I change the interface it runs again and Here you go. I can run it executes and this this runs clustering algorithms on a kernel And then gets back the result in this case the result is actually a bokeh plot because we like bokeh plots, right? And I can change stuff it will re-execute every time I change the data We can change them see, okay, let's use the blob as nice as well. So I can add here So blob Value is from six three two G this Confirm new blob data since I I had to And that's it. Thank you. Thank you That sadly sorry Hugo Let's us run out of time for today's lightning talk. Thanks to all the speakers. Thanks to the audience give you a hand for big hand