 All right, welcome back welcome back for this third day of life. Hooray I've been better than the second day and better the first day even though the first day was amazing and the second day was double amazing This will be triple amazing. So What was I gonna say a couple of little announcements if you see anyone walking around with a badge like this a green badge These badges are beginner mentors badge So let's say the person wearing this badge is happy to answer any questions You have if you're a beginner and that doesn't mean a beginner at programming in any topic But you have a question And that person will automatically be an expert in that subject and reply Magically to you. No, I mean that person is there to help with any any questions You have questions about the conference questions about what talks to try out next Question about who to talk to or where to find out more information about something whatever it is people wearing these badges are Specifically very happy for any questions interrupt them halfway through a conversation. Whatever it is. It's our job as beginner Montills, too Yeah, what's the question? I'm here to help Sorry Okay, so there's some bathrooms if you come out immediately on the left and also a little bit further back on the right You're welcome All right, so that's the first badge the other thing I wanted to introduce is God I'm gonna say Fabian here who is talking about the mouse icebreaker. So you may as well remember the story about Having an icebreaker game that's going to encourage people to just talk to each other and say hi to strangers So Fabian has come up with some cool rules and a cool game The explanation is outside by the door, but a quick explanation in person I think will help to really make it concrete. I've already started on the game. It's going great Okay Hello So so after the lightning talk yesterday evening there there were quite a lot of people that were interested to help and and do something And and we we figured out some well, let's call it the first iteration of a game It's just that our PR department completely failed So there is a board somewhere here directly if actually if you're coming out of the room Then you'll see a board and and they are there are the game rules But I think hardly anybody realized that maybe with a show of hand who who realized that the game is already going on Okay, but well now and everybody of you knows it directly there are the rules and We'll continue tomorrow and the thing is that unfortunately of the three viruses have spread through all participants and in order to Well, the objective of the game is to to disable those viruses on your own Software on your own operating system and you need for each one a code One code is very easy to obtain because it's a static code It's just one certain code and as soon as most people know it It's very easy You just ask do you have the code and at some point everybody knows it the other two codes are a bit more difficult because They are personal codes they change and we have a really really electronic gadget Well, it's actually a piece of paper, but but We call them what do we call them? Emitters emitters they are code emitters those pieces of paper and there are some emitters that are moving around So as soon as you you go around and ask hey do you have an emitter and if that person has an emitter then you will have that from then on and So you have to just go around and ask and the third one also is with an emitter but he stays the emitter stays with the person and Those are the persons that have oh, I don't have my badge on and that they have a little mouse Hand-drawn mouse on the on the batch. Those are the game admins. They also know all the rules and they have another Emitter and if you have all three of them, I will ask tomorrow in the lightning talks who has the most codes so Play the game All right, so our first speaker is Julian Tabolt and for setting up getting ready before that I'd like Philip Okay, Philip Philip. Where are you? Fantastic. All right So is there anything that's on your mind everyone What what how do we get a badge? Oh? Yes, if you'd like to be a beginner mentor we have an oath that you have to take So there's a little bit of training You know you have to swear to do certain things and promise I based it on the oath of the night's watch from Game of Thrones So if you just come and see me afterwards I'll explain the oath and if you're prepared to take it on it's a big responsibility It means that you have to be prepared to like stop trying to impress your friends with your incredibly geeky knowledge of technology And that you've learned this year and instead just go up. Sorry. Okay fine I'm answering your question about beginner issues from now on and for the next hour if necessary So it's a big responsibility, but we do need help so come and see me afterwards And I will definitely give you a badge if you swear the oath on that note. Are you ready, sir? Yeah, Julian take it away. Okay at first. Sorry for my accent and my mystic and French So I will try to do my best in English My talk is about MongoDB as a tostada I Want to compare MongoDB database with a tostada tostada is a huge huge cake Last night. It was a nightmare to finish it Even more after eight year after it's so many tapas MongoDB is also a nightmare when using our missing indexes I Know that people say MongoDB is slow. It's not acid as a queer language sucks But I love it Six people Okay The tostada as you can see is very very fat To prevent MongoDB from becoming a tostada you must monitor the slow operation So how to locate and trigger an action on longer need operation? You can use the profiler or the command current OPE But it's impossible to trigger specific action Let's go. So we have a simple live demo. I Will try to simulate a slow operation Sorry As you can see, I'm trying to find a bottleneck which is a tostada I take we can we can retrieve some information about the the current The current operation with current OPE But you need to wait The end of the operation as you can see is very very very long so For I wrote a simple tools is a Mongoop You can send different trigger You have a killer trigger He tried to terminate a long operation and you have the MongoDB trigger It's a simple insert on other another database Okay, I Run Mongoop Okay, and I try to stimulate the same operation you can see The first the first operation the first action is trigger and the other is trigger and now the operation is Was interrupted. So is on Github The project is not mature not enough to be a production I need more tests more triggers like century You see in a CA for your monitoring tools Maybe Python 3 but Little confused with that and I need your fight back and your help To finish if you want to try to eat The tostada I know the the restaurant Philip come on up and then after Philip we've got Daniel mild on pie benchmarks Yeah All right, anything else on your mind everyone Yeah, yeah, what's that the what I? Kind of forgot what the beginning of the story was I don't know if I can actually Yeah, I don't know if I can remember the whole thing unless I start at the beginning So maybe we'll do that like what was it was about a man who really likes tractors in that right? So where were we at the end of it? Do you anyone where where were we in the story who remembers? So he was everything was on fire. He was burning all the old tractors and the old tractor posters But I guess maybe now that you've reminded me we can have the rest of the story a little bit later So take it away Philip Hi, I'm Philip. I'm the main organizer of pie compil. I'll go and clap him. Yeah, come on And I would like to talk about pie compil So I kind of made a bit of research and to see how our pikens in central eastern Europe doing I've noticed that pie compil is the oldest one but New pikens are appearing I would like to encourage you to Try to attend Proposed talks for those pikens This year there were many new pikens in the central eastern Europe for for example Picon Belarus, Picon Lithuania and there will be Picon check in November 2015 And the next year there will be a first Picon Slovakia, but I will talk about the Picon PL so Our Picon is a bit different that all the national pikens in the sense that we are not picking big cities, you know Probably the name of the of the cities or town or villages that we are organizing the conference are totally unknown to you So that was kind of our idea So we are kind of booking one hotel and All attendees are staying in that hotel almost because people that are living nearby probably want to stay at homes and That way our pikens take place in completely different areas Usually close to the nature some mountains forests And I think that's that's kind of pretty cool And what are the advantages for attendees? so You don't have to worry about reaching back to your hotel at social event because you are Everything happens in the same place You don't have to worry about the weather about unexpected rains So everything is closed hotel room conference room bar If you forget something you can easily come back to your room and take it If you are kind of tired and need to rest from everyone you can go hiking and This kind of approach also gives us opportunity to superb socializing and Now about the current edition it will happen in the mid-october In a village called ossa We'll have six tracks. There will be two English tracks to Polish tracks and two workshop tracks mixed Some of them will be in English and Polish We are expecting six to seven hundred attendees last year. We had half a thousand attendees So we are kind of growing every year Full ticket includes hotel room. It's a four-star hotel And meals during the conference So regarding the speakers as you see we have speakers from different countries on pi compl and I think that's that's very good We'll also have a pie ladies workshop from test driven development mmm, I must admit that the kind of diversity problems are also applying to us in Poland and We need more women speakers on this edition will have five women's speaking, but Even though the coastal proposals is closed And you can still Submit a proposal we'll try to find a place in the agenda So where exactly spike on pl 2015? So it's in the village as you see It's one hour from Warsaw So this is important This is the view from the open street map. Actually a month ago There was nothing on open street map there, but thanks to the open street map community We have the hotel complex mapped That's how the place looks like You know because it's in the middle of nowhere then kind of bus transfers are important and there will be special buses organized by us That will go to the hotel There will be many activities during the conference for the white python coding challenge Every night that will be bought and card games that there will be a green and barbecue party on Saturday Every night there's a party going on the dance floor and If you want to come with your kids, there's a special program for them So you can enjoy the conference where your kids are under good care That's the view of the auditorium. There is a free swimming pool Jacuzzi and sauna for all the attendees And So this is these are the prices and I think these are actually really cheap if you compare with other conferences So for a ticket you can buy for 190 euros and it includes accommodation in the hotel plus meals That's how the hotel rooms look like if you think that's too much you can apply for a financial aid at our website Mmm, these are the comments and I think that comments of our attendees say a lot about the conference It's worth to attend So have a look the last comment is you know still waiting for my ears to stop ringing after three nights of disco at PycomPL We have different games during the evenings Different groups are meeting Yeah, kind of I'm going fast and in Poland. We don't eat sandwiches amazing So after Daniel, can we have Rob Collins? Are you near the front? There you go. That's good enough and after Rob, it'll be Philip Fritzi. Are you here somewhere Philip? Fritzi Yeah, close enough to the front to be able to run in. Okay all right fantastic so our Our guy who's just gone crazy with his tractor It's gone too far. He's decided to just quit He's piled up all his tractor memorabilia or his pictures of tractors or his old tractors He's put them in a massive bonfire in his garden and he's gonna set fire to it And he's just watching it all burn away and he's like that's the end of my old life No more tractors and finished with it and he's sort of sad, but he's also like this is a big milestone for him and He feels like ready to move on, you know ready to put it behind him Are you ready? Okay, so he's ready to put it behind him And you know he like after this is done after it's all gone. He just goes ah That's better. I feel better. I think I'm gonna go for a drink So he goes down to the pub he walks across to his village pub and he walks in and the pub is kind of empty And there's not many people around. I think the reason he like he smells this weird smell And he goes I think the reason this pub is empty is because there's a really bad smell in here And he goes up to the barman and he goes hey like what's going on with the what's going on with the smell And the barman goes, I don't know there's been like that for days Still worth it so waiting. Oh, that's loading. Is it okay? Look at that Take it away. Okay, so hi everyone How many of you know the computer language being smart game? Okay, so as you may know, it's a great website where you can compare the performance of different programming languages But there is only one Python interpreter available so and we want more because we have Many interpreters So Fortunately, the project is open source. So I could fork It's called by benchmarks.org You can see it here It's looks the same as the original project. So now we can compare for example Jiton, but wait, no, you don't want that So once again, you can compare for example pi pi 3 2 Sight on or You can have a look how the new Python 3.5 is doing or compare another nice compilers and interpreters So I benchmark the torque The benchmarks are not perfect yet, of course So if you want to participate, there is a link to source code. It's on github So please feel free to send a pull request That's all. Thank you All right, Rob, you're up next and Philip is after that Okay So he's got the pub and there's a weird smell and he's like what that's weird smell and the barman goes I don't know. It's just been it's been like that for days and The guy goes, you know what? I think I can help you with this and He walks to one in the pub for a little bit and he's trying to smell the place where the smell is strongest And he eventually stops it and he goes right. I think it's here and he goes like this He walks out to the door of the pub and he goes out the door of the pub and he goes Outside and he walks back in and he goes and he walks back outside Are you waiting to talk? I'm waiting for windows. Sorry guys. It's not like no, that's all right. We've got about 15 minutes of this joke Have a good time He goes back into the middle walks back outside and Slowly the smell is disappearing and the barman is like this is crazy and you go Walks out a few more times Like that and they were till he does this several more times over the course of sort of a few minutes until the smell is completely Completely gone And the barman goes, that's amazing. I've never seen anything like that. What what happened? Like what? How did you do that? And the guy goes well you see I'm An X tractor fan. There you go Yeah Okay, not bad. I know several more stories in that sort of vein there's There's one about a paint program in the 90s and a Chinese conspiracy theory But that like very much relies on people having a a decent knowledge of like early 90s desktop software Who would if you have a good knowledge of early 90s like paint software hand up put your hands up? Okay, so that's like 35% So should I waste like everyone's time for a joke that's only gonna hit 35% I think so. No Philip take it away. So thank you. My name is Philip and I am the office and the paramount in my world There is a new revolution containers containers at most everywhere There is a few application to run new containers like run see docker Rocket Vagra like see and so more but there is no one application in Python, right? But there is a Python conference. So I create a package by spaces It's trying to implement some containers Linux containers feature like nine spaces C groups and so on There is a lot of work should be done before it's ready for production, but I hope you enjoy this package and and help me to Create greater great application for containers for development and deployment by the way, I am a member of the Russian Python meetup and You can find our community at Facebook and Twitter. So enjoy us and Sorry and We should take a part and create together new big challenge new big new world with Python. Thank you We had a good one. Yeah, so we're probably not going to do the early 90s a paid program I have another joke if you like that's like really highly dependent on People knowing the meanings of two words. So like would you have put your hands up if you know the meaning of the word opposite? A double POS I t e Yep, and the word pachyderm p-a-c-h-y-d-e-r-m All right now if you knew both of those Both of those together. All right you guys What do you call an apposite pachyderm a relevant Okay, because apposite means relevant and a pachyderm is elephants and rhinoceroses. Yeah. Yeah. Yeah pretty good I was pleased with it. Yeah. Yeah, what do you think like the jokes I make up versus the jokes that are real jokes How do they compare? Yeah, what do you think like extractor fan versus Tina Turner? Which did you prefer out of this like hands up for extractor fan? All right hands up for Tina Turner Yeah, guess which one I made up Say what that's pretty much what I'm doing How'd you make up a joke but well the Tina Turner one right you can pretty much tell I made that up in the shower Because obviously I was singing and then I thought Second-hand emotion second hand in motion. That's it and you just work backwards from there Just figure out a long story where like somehow there's gonna be a reason for someone to say that and you're there You've got a joke. It's amazing How are you getting on over there Rob? Yep. All right. Let me take some time All right. How about a how about a joke that's like? Oh, you're ready to go? Yes My picture is not scaling, but I think that that's the the point. So first of all, I like to Say Thank you for those who participated in the sponsored massage. So hands up who's had a massage so far What was it? Was it good? Well It's not it's not too late We have one more session tomorrow Lunchtime for you to get a massage and to give money to the Python software foundation So we had 16 people doing the training on Tuesday and they made a good team and spreading out Talking to lots of people and giving massages. We've raised over a thousand euros for the Python software foundation so far That There is a problem great team, but we haven't covered everyone at this conference and there's a bust factor of one that it Depends on me being here and doesn't scale even in this conference let alone other conferences So I thought what about we try and write things down Help other conferences be able to do the same thing other Python conferences could raise money for the Python software foundation Could scale to other programming languages and other good causes. So I need to delegate because it isn't that Difficult to do but it's not trivial. So there are some things and we were thinking well Supposing we had a website to help groups be able to organize a sponsored massage So that other people could do it now show of hands. Do you think that would be a good idea to do that? Anyone Not asking for help just sort of your opinion of whether you think it might be or not right Yes, well No, no, I'm not not asking for more donations. I'm asking for some help So I'd like you to think about how you could help not just for massaging but for organizing designing writing things so This isn't going to scale properly here but if I can Get this there so The Python massage foundation Dot all go to the website. The only thing it does is to allow you to subscribe put your email address in there and We can build something that would be actually useful for other groups to be able to do the same thing With more teams of people and raise more money for good causes. Please go there and talk to me afterwards. Thank you All right Patrick Goodry on a pie test in Selenium and after that we've got alof Bradbury Yeah, alof is a good name too though, right? Yeah. Yeah, okay. That's someone I actually know everyone. Yeah, LX Bradbury Yes, fine. Okay. Yeah, are you close enough to be able to run up and give the talk We'd like to move to the front row maybe disrupt now rather than later Jolly good Yeah, so come on let's rather than having another really tedious joke, you know we all talk about community a lot in in in Python and That's not a word that meant a lot to me for my first few years in In the Python community And I was like, well, I don't know, you know, I'm British and I like to talk about my feelings or express them Or really admit that they have any use so Community sounded a bit wishy-washy to me And I think the first time I really got it I was in a in a Django con and the setup was That they were going to announce Django migrations which was made by a man called Andrew Godwin. Are you here Andrew? Andrew someone called Andrew put their hand up so And he was going to announce that the Django migrations is merged into Django call from being a separate project called south And I'll finish the rest of the story after this talk So Patrick take it away. Hi everyone As previously stated, my name is Patrick and I work for a number Lee We had a lot of nice talks about tests and test revenge development Mainly for common line tools. I'm a bit Latier than that and I had to test pages HTML pages with links and whatnot. So Here is to just text take tests in that direction just a bit So you don't have to manually click on everything So first First I use by test for my tests because it allows me to build either unit testing or Functional tests He does it supports what it calls fixtures, which are a nice way to prepare your environment Well, depending on what you run it can be either fast or not. Well, if you sleep then Be lower slower than expected and it has nice reports as you can see right here That's a kind of report you get with the number of tests failed number of test pasts And you know which one failed and what it failed For a zoom that might not know what Selenium is it's kind of like enabling Gospelsation of your computer You program your bite on script and it just goes opening stuff and manipulating your brother well your brothers actually if it supports more than one and What we are going to do is trying to use them both together That way all the tests you had to do Are going to be done automatically and you can go sword fighting on shares Okay, so I have a very lightweight flash cap that runs Mostly nothing It has one people input that puts the text in the page and one link That would just redirects to another page with another link So running Selenium Is just going to Open the navigate the brother and do stuff but as you can see I have no idea what Has been going on So running by test I can see that he has for test for tests to run run the first one correctly the second one failed Third one pasts First one past and now I can see that actually yes the second one failed and I know why The actual code for the by tests Is Really lightweight the only thing is to define your fixture You just instantiate your brother yield it so you can use it and quit it just when your test is done and That's it. You got here the By test by test websites Selenium website be aware that Selenium is not Strictly Python it is also available in other languages that URL is to access the presentation as it's Available and that's the old code for this lightning talk including the very lightweight flat cap Thank you Tom Bollinger Are you around Tom? Okay, so South the migrations framework for Django. Who's used that and who's used Django migrations? all right, so There was a guy called Justin who you might come across if you go to a lot of Python conferences Who's a who's a lovely guy and he's going to be hey? Harry and like it took someone American really to kind of explain this community thing to me because the Americans unlike the British aren't afraid of talking about their feelings just in particular and So he said to me. Hey, Harry man. Are you gonna Andrew's talk? I went. Oh, no, can't be bothered south is already really good I know that Django migrations just slightly improves it, but it's more or less the same The only thing I want to hear from that talk is like hey Andrew. Is it more or less the same? Yes Did you do a good job? Yes, will it all be obvious? Yes. Thanks very much. Goodbye. So that's not a talk I want to go to and Justin says to me man That's not the point the point is this is Andrew's big day man Like he made this tool south that we all use all the time and like it makes our lives so much easier Man and and like and like we love it so much and like he's finally come into the Django core man Like his project is recognized. It's a part of it. We've just got to be there, man We're gonna be there for his big day man to just be there and be present and like say thank you man Like we are grateful. We are grateful to you and we are here for you man and um, I didn't actually end up going to the talk but but um, I Was almost ready for that lesson, but not quite but but you know, that's the sort of thing So so so I hopefully that yeah, that's the sort of thing Alex take it away. Thanks. Hi, so I'm Hi, so I'm Alex I'm a researcher at University of Cambridge and for a number of years I've been working with in terms of the summer working on Raspberry Pi related projects and so This project pie land is something that's a bunch worked on last year and the continued this year and I thought I'd tell you a little bit about it and how you can help us out in our aims So I so pie land aims to be a game which helps to teach children to learn to program using Python So just take a little step back and kind of motivate motivate this a little Some of you may have seen this before this is called MIT scratch So this is how a lot of children may start out learning programming. It's really nice. It's visual It's easy you drag and drop you can draw your little your little fish and you can easily add behavior to them and That's great. And so teacher and as our children kind of big end of primary school Maybe it's seven years old eight years old might start playing with this But they want to move on something new so you move on to Python and then to get to where you were with Python takes Get to where you were here where you could have all this, you know interactivity moving images You know making your own games actually takes rather a lot of time which can often be rather off-putting I mean, this is a kind of translation of what was probably the first kind of Programming program that I wrote so on my Amiga 500 I had a well I had a trouble that I only had a BBC basic book so I was very frustrated I keep having I but not everything quite worked properly in Amiga basic But I was very excited when I had a knock-knock joke thing I went to show my mom and I thought this was fantastic But one thing I've learned in life is that not everybody's like me in fact quite a lot of people aren't like me and For many people You know just something simple and textual which prints something out on the on a screen in a world where you have You know your mobile phone do amazing things you go home you play your PlayStation your Xbox. That's not all that compelling Although for many people it does give a good sense for treatment and so what we're trying to do with pyland is producing something which is graphical. It's It's intuitive it's attractive to children so that you can write Python and get something which is but in But you're kind of motivated to write it to you know move on to solve puzzles in this game and here is obviously a well, this is a kind of the Edit integrated editor isn't quite finished So it's a little bit of a mock-up But this is all showing the graphics that we had made for us last year And obviously this student here is about to be told off very badly for not obeying Pep 8 But I'll now I'm I'm now going to be slightly risky and give you a demo of what it looks like currently There we go. Yeah, so this is our little guy Ben. He's our main character Our level screen I can move to a level here say where we've got our Crocodiles mosing about so each character has a Python script associated with it which you can use to Control their behavior and of course, I'm just using my arrow keys here unlike some programming games We don't try and you know, we don't want pipe We don't want to force people to program and kick program in cases where it's not actually helpful That's only gonna Put them off ways you have to open a text editor just to move left or right So this is a simple level where we have another character Milo with our little monkey friend who is going to help us out I know Milo is definitely my favorite character I just love the way that the animations come out there So that's kind of So we've been working on this last year. We've got a bunch of Put the team of free interns working with me this year to try and To try and get it towards something that's really releasable that we can share more widely So the aim as I said is children kind of ages 10 plus It's we're kind of practicing. I said intern driven developments where it's very much limited by limited by manpower there So the game engine itself is written in C++ and is increasingly Python's Python scriptable I should point out that, you know, one of the key requirements is it has to run on the original Raspberry Pi So the 700 megahertz rather weedy arm which limits your options somewhat So that's it's very difficult because quite a lot of schools already have these and of course it's all fully open sourced And so our aims the things we're working on this summer. So we've had a few weeks with the Amazing set of interns who've already they come up with it It's kind of story about having QMS island and there's a group of people who can both write and run programs There's another group of people who can only run programs and you have to help the people who can only run them Which it sounds like it could be very very political in there, but that's not totally the aim And so our key aims this summer have been working on more content making it so it's easy extensible So you can write levels in Python so that you might have a teacher who modifies or customizes them or indeed children might be able to write their own levels and share them with their friends and Working on this integrated text editor Whereas currently you have to kind of switch to a separate window and so if you want to get involved or look at What's currently there go to pylon org follow us on Twitter talk to me afterwards and Also, thanks for actually pie foundation and the Broadcom Foundation for funding this and a big thanks to all my interns this year And last year who have done all the actual work Tom you're up next Okay, guys, so like it's six o'clock. So Tom should be the last talk Would anyone like to stay around for longer like by applause state for longer? Versus by applause go home go to bed go and have food go to sleep like and just generally relax So that has it so I'm gonna propose that we stay for another 20 minutes or so Anybody that like is actually knackered at this point This is a good time to leave while I'm talking because you know, that's just a waste of time Whereas while Tom's talking that's gonna be interesting entertaining intelligent fascinating warm loving Community-based and all sorts of things like that. Are you ready Tom? Yeah, yeah, yeah, are you sure? Alright, I want to tell you about something that it's almost generous to call a hack It's somewhere between a hack and a joke, but this is RL undo. It's undo in any interactive interpreter with an asterisk there I will explain later So I work on a project called be Python, which is pretty fun. It's got undo as you can see here We hit a button and then you undo the state and then a isn't even defined anymore So we've undone the state here. We're taking the entire state of the program kind of rewriting what we want it to be and Just from this little briefing of what you've seen so far imagine for a few seconds How might you implement something like this? The the undo part here is what I mean where we can go back and then that variable isn't defined anymore We've got we've undone that thing so think about it for a second or two. Oh, it's a pretty dumb way what we're doing What we are doing is Well, I have to explain it first what we're doing is just replaying the state So we just remember all the commands you ran and when you undo we just redo all of them except the most recent one And then when you undo again what does again? So this works pretty well when you're trying out the syntax or something But if you're trying to do real work and do something it takes 10 seconds It's gonna take 10 seconds to do rewind your most recent thing. So so useful neat but limited so where does this fail? It takes time to rebuild that state while you're rebuilding that state you might just not atomic operations we don't recede random or anything like that and Maybe you're doing non-demand and stuff. You're pending bytes to a file so that happens each time you undo File system changes We're not gonna you have a whole VM and then rewind those file changes And we're certainly not gonna like simulate the universe and like recall those bytes from Google that fired the missiles or whatever so so That's kind of out of scope, but we could move down a little bit We could accomplish some of these some of these first ones and the way we could do that is by saving snapshots of states instead What if instead of rebuilding that prior state each time instead we save these snapshots and just return to them Obviously this would have higher our memory requirements. It seems like but we get around the rebuilding time we get around Running things twice and their side effects happening twice Right those higher memory requirements probably a problem Let's try to do this copy-on-write thing functional programmers talk about this a lot They're like ooh in in closure We have these these data structures that are immutable and we can do this clever kind of wouldn't make a copy It actually refers to these things, but you have to kind of and we could do some immutable stuff in Python But I think it's not real general enough what we're gonna do instead is fork So on Unix we have this way of copying our process and making another one that looks just like it and it's doing this Copy-on-write stuff at the operating system level. So that's pretty cool. We could use that to save these states Let's try to do that every time something interesting happens. We'll just fork Okay So this is a hack in three parts first off and we're gonna use read line Read line is a program a lot of interactive interpreters use it's inside the program Right, so that's the same process and we could fork it to save these when we can intercept what these are types And if they type undo we can just die and the previous one will take over because it's just sitting there waiting And we have to get read line into these things somehow So we're gonna intercepts the dynamic library call and then we have to rewrite the terminal a little bit So let's take a look at this Here's it is with Python I could say Looks like these there, but if we do this he's not there anymore So this is with saving snapshots, but this is with forking and lots of things use read line So say that we have for some reason we have to use this other programming language called Ruby here and or racket or Lua Or a lot of other things also use read line Here's a but then we do this and it's not there anymore and we can see if we were to We can see the process tree here three four nine eight We can watch this get bigger So maybe not ideal, but it's copy-on-write it's probably great And we can undo undo undo it looks like we've got off a little bit The rewriting the terminal isn't quite working correctly. So this is a fun thing. That's it Well, don't go away. Don't go away. Don't go away. I was just clapping the It's I'll have updates. So this it's a joke, right? Is it could it is it good? No, it's not a good idea Re-due to that would be cool. We could save them. You could jump around. So we don't have any of that stuff But we do I am like I have tests for this where we're starting to It could almost maybe kind of work. So if you want to contribute to it It's at github.com Thomas Boundary on do and that's it I want one that just guesses what I was about to do next and steps into the future. That would be even better Yeah, fine, so what was I talking about with the Andrew story there really is that you know Like the value of going to a talk is not necessarily like the information that you can get out of it And what you can sort of selfishly get out of the conference. Some of it is also about Recognizing people. Yes, it's um, it's me next. That's the important part about this whole thing So next we've got Nicholas Olufsen and after that we've got jerky Pauline and Sorry jerky Nicholas are you nearby? Yeah, yeah, yeah, so sometimes you just go to talks because you got to support someone, you know, and that's nice, too And and it's all important this community stuff because we like donate our time, isn't it like open source software free software It's all based on the work of volunteers and so, you know You need to get some sort of payback for that and that payback is going to be Nice things like your friends showing up to your talk or people recognizing the hard work You've put in by just being there and clapping for you even if they've got no good reason selfishly to be there Are you ready Nicholas? Yes, so take it away So my name is Nick s and this is basically my first talk ever so please bear with me And I'm gonna talk about efficient allocation of space and the challenge of this is basically to you have a number of elements and you Want to store them in some data structure with some constraints So for example, if you have this square who wants to managing manage his acorns in some way And we can use a box with slots you can store like one acorn in each of the slots So this is basically an array But you can only fill these boxes from the sides and Tricky thing is that the acorns block each other. So if you add like two acorns like this You can't you can't really add any more acorns So in this case, yeah, we are Only storing two acorns, but we have a seven slots. So we get really crappy performance or efficiency in that case We can also have like a matrix with multiple boxes But it's same like Restrictions you can only fill them from the sides and so how do we fill these efficiently? Well, we could like add one acorn and then we can add a little bit of space and a little bit Yes, because you know, there are there is quite much space. We can just Yeah, and little acorns here there and then we begin to run out of space So we start to pack them a little bit more efficient, but you know Even this has really poor performance Another approach will be to like start in an in middle and then don't add a space And see in the first row Then we could begin on filling the second row and Fill the rest of the Boxes basically so now we get like hundred percent efficiency, which is really good So now how many of you wouldn't consider using the first approach? Well, yeah one of these so I Basically think So So to conclude there to sit next to other people hope that they don't bite you And perhaps even talks them and meet new friends and everything will be a lot more fun and a lot more space efficient. Thank you All right Alex you're here tab complete me later, okay This next story folks is set in the undersea kingdom So it's underwater and in the undersea kingdom not everybody knows this but the the lobsters are like the royalty because they're the most expensive and So there's a lobster king and lobster queen and lobster princess and they all live in this amazing aquatic castle But then in the in the stratified underwater society The most like low class people are crabs because you see crabs walk sideways So everyone thinks they're shifty and you can't trust them But it just so happens that the lobster princess falls in love with a crab That's the setup of the story. Are you ready Jackie? Yeah, take it right Jackie All right. Hello everyone. My name is Yurki Poulin and I'm gonna talk you about Think of manhole and this is my Twitter handle and you dirty people who don't speak English or who don't know this Stuff behind the word manhole. It's this. It's not nothing dirty This is actually a manhole cover if you're more Concrete the manhole is like that's just copy based on Wikipedia. It's alternative you to the whole Cable chamber minutes or blah blah blah double is the top opening to an underground usually world You probably also heard about like this In like stupid interview questions or if you ever been in stupid interview You've been like where someone else to go away the manhole covers around and you probably know the answer that they don't fall in But you can actually next time when you end up in a stupid interview you can say it to them I'm part of my friends because I suck in the process and the roller triangle can also be a manhole covered at the Syndrome in second use that one next time you can be in their interviews Anyway, this all was completely useless. That's just a nice Fact I'm gonna talk you about Python manhole Which actually is a manhole into a Python process? So those who have used twisted twisted used to have an old manhole and they have a newer implementation But this is for like every like a layman Python will not the crazy call that call back Python But layman Python manhole you install it by saying pip install manhole Then you import manhole and say manhole.install or if you just run a random Python process you Give bite the manhole environment variable. That's just an empty string and you run your script with that Then what like what's the point of this well The manhole opens you a Unix domain socket. It runs in a thread There are like options that you don't need to spawn threads But actually runs in a separate thread you can connect to that Unix domain socket with the netcat or I recommend so cat with readline and Boom it prints you out what your actual Python process is doing like what the threads are doing at the moment You it actually gives you a trace back for each thread. You can see that there's the manhole thread On the top of the end of the manhole thread like a Trace pack and then this other stuff This is just running the simple hdp server from the command line and with the Python manhole environment flag and the best part is that at the very end it gives you a Python interpreter So you get the Python interpreter inside the process you're running and then you're going to go nuts and do all the kind of havoc And why would you use this is you run? Let's say you run a web service or something So you can actually put like a long-range web service or some lot of long-range process You end the manhole there if it goes dirt at some point and you don't know why like it's running But you don't know what it's what is it doing because it doesn't seem to be doing anything You can just enter the manhole and check like extra trace backs of the stuff that is doing there The manhole has a yeah decent documentation, but like actually the usage is as a as easy as it Go how much do I have time? I would say two minutes. Oh, yes Because there was a pike in Poland I had to come back to that one There's also a pike in Finland. It's the 19th of October in Helsinki Unfortunately the corporate proposals has already closed, but because they closed it in the middle of July They're probably gonna reopen it because no one does anything in Finland in July except this on a location It's an amazing conference. We used to have a tagline saying that it has more saunas than the other conferences combined But the pike in Poland also seems to have sauna so I don't know as at least you know at least Yeah, same among those other conference combined If you don't know this is Helsinki, unfortunately in October it can look like this 19th of October in Helsinki. Thank you All right after Alex we've got Wukas maybe for dream about flying Does anyone know who that refers to you and did I get the name more or less, right? Wojtek. That's yeah Yeah So the lobster princess falls in love with a lowly young crab and they have this sort of band relationship But one day her father finds out she's like oh, I'm not having my beautiful lobster daughter hanging around with one of those shifty Sideways walking crabs. I won't have it. She's like, but we're in love and she's like no I'm not having it and so he like locks her up in the highest tower of the undersea castle which I guess makes it the least deep underwater and They're like young crab is devastated. He can't see his girlfriend. He really loved her He's like going around all the undersea bars like drinking away his sorrows going Oh, I used to have this beautiful lobster girlfriend and the week's past and the month's past and the crab is sad and drinking away and the lobster daughter is in her Tower just crying and the the king feels bad and he thinks maybe I can cheer my daughter up and maybe She'll feel better if we have like a big party and maybe she'll also meet some new and eligible suitors I've been obviously no crabs. So I'm gonna have a big ball in the undersea palace and I'm gonna invite all the respectable undersea creatures all the tortoises and dolphins and porpoises and octopi and and sea cucumbers and So they're all invited obviously no crabs and they have this big ball And there's the king and the queen and the lobster princess is sort of seeing next to the throne there And she's just looking kind of sad and she's not really talking to anyone I mean while the young crab is like more and more desperate than ever like he's all like oh, no She's gonna be married off to some awful CQ Cumber And the hours pass And then at midnight There's this sort of banging on the doors of the undersea hall bang bang bang fly open And it's the young crab and he looks all the way across the hall up at the king Who's like right up on his throne the other end and he walks really slowly? Right down the length of the hall one foot at a time Perfectly straight one foot exactly in front of the other Perfectly straight until he gets up to the king and he looks him in the eye and he says I am really drunk Are you ready Alex? The live demo gods are not smiling on So this will be an audio only demo Okay, so This will only work on Linux and what I'm doing now is I'm typing LS in a Directory In a directory full of Python files and because this project uses talks It's also full of dot pi c dot pi o and a pi cache folder, and it's quite noisy so When I type my favorite editor and I press tab I get all those files I don't want to see them. So what I'm going to do we can't see is yes I know that's why I'm giving an audio description So what I'm doing now is I'm editing my dot bash RC and you can do the same thing in zed zed shell z shell How do you pronounce that? anyway What this line says is in caps f ignore equals and then quotes dot pi c colon dot pi o dot pi d and underscore pi cache I Do that I source the file and now when I press tab I just get my dot pi files and not all that dot pi c rubbish brilliant. I can't hear any of the other ones So sorry for the lack of visuals, but try f ignore it. It makes the bash terminal quite Just a bit nicer place to be Thank you Yeah, those dunder pi cache files absolutely deafening Okay Boy check you're up next I'm learning you things all right fine That'll be our second last talk everyone and then the final talk is by Adam H on exceptional programming Adam Are you around yep come towards the front so you can get here nice and quickly So where are we had the undersea kingdom like let's rate all the jokes now undersea kingdom Like is that your favorite clap if it's your favorite the undersea kingdom all right clap if the extractor fan was your favorite Clap if the Tina Turner. What's love got to do with it was your favorite? That's my favorite. Okay, but like all right So you guys preferred the longest one with the really bad pun at the end So I'm just just using that to like meant to clear you know I want you to call it calibrate what I should do for you next time All right. Yep. Yep. I think we can manage this. I know one about a man with an orange for a head That's that's quite special There you go. I need one more second place because How did everyone enjoy the social evening yesterday? Like clapping slightly muted there by the people who are still hung over game. Well, I enjoyed it, but I regret it I Got there at about midnight and there was no food So I all I had to eat for the first few snacks with nothing But like chocolate eclairs and cream cakes and I had about six of them And then suddenly they did bring loads more actual food out and I felt that was a waste to have my start of the entirely cake. Oh My god, is there gonna be audio in this demo as well? There will be a live demo. I hope So I would like to talk about my dream when I was young my name is Vojci Konczarski And I always wanted to fly I always wanted to be a pilot I'm not sure if this dream will be fulfilled, but I found another alternative to the ways of flying So lately there is this huge topic like drones self-flying unmanned vehicles so the plan of this talk is Presented here. Basically. I think that each lightning talks should have three main threats like getting attention inspire and Spread awareness in my case. I would like to get an attention by having a live demo and Yes, I will fly a quadcopter I would like I Would like to however also present the fun part of flying a drone obviously I'm going to skip the technical lesson because we have just five minutes obviously and What's more important is the awareness about this technology. It's currently banned in Spain You cannot fly outside because it's a danger for other people than flying vehicles I don't think this drone will go outside and I don't think it's a risk for Property or other people by getting hurt. That's why I was reading the Legislation but it's difficult for me to to read in Spanish. So I assume it's legal However, I consider myself to like be to dream a lot and think about what might go wrong And that's what I would like to present. So I'm going to fly this drone Which is not what you expect Let's hope it will fly it can actually flip So here is one part of the live demo the real reason is that lately I've been also producing my own drone and From my friend. I received a question when I was showing off, you know, by the way I have created my own I built my DIY drone and the first question was does it fly? So here it is the drone I have produced on my own So this is for my friend dedicated dedication. I'm not sure the camera will register that but So that was the second part of my interactive demo. So yes, I'm already it flies What might go wrong if you why did I do this demo outside? So it turns out that you can really hurt somebody if you didn't fly the drone your own You're not aware because obviously Most of us play video games you might think it's very easy and it is if you already have the experience So I'm not going to let you fly this drone and I highly know that we command flying it But we can talk about this small one after this talk and that was the purpose of this meeting so it's really important to think about the fact that you can hurt somebody and Damage a property that you wouldn't expect you can damage like a flying a vehicle or even a car driving in the road The drone can fall from the sky when the battery falls Unexpectedly so why wouldn't I fall over your heads here if I already know I can fly this drone so I estimated the risk is not bearable and Somebody can get hurt because if it falls and The quadcopter might get broken, but this is just a few dollars and this is another thing I would like to like stress this technology is getting like extremely cheap and you wouldn't believe That this small drone I was flying in the beginning of this presentation is around 20 bucks and you can get it And I'm not going to advertise where and what is the Brand I would just skip it But it's definitely affordable and most of the people can afford it. I highly recommend it's a great exercise for your brain and How does it relate to Python and this conference? So I think that I fly with Python I work at applause and The reason I'm talking about applause is that we are hiring great engineers that are not only focused on one technology And they are not focused only on Python, but they can actually do stuff around The world so I would like to thank you for the presentation. I'm really Like happy that nothing got broken or nobody get hurt. So thank you All right. I'll let's talk is from Adam Yeah An app is it packy-derm everyone a Relephant now where you've learned three things from that joke the word app is it which means in the correct place or Appropriate the word packy-derm which means thick skinned in Greek or so that includes elephants and rhinoceroses is And then you've got a joke out of it as well. What do you call an app is it packy-derm a Relephant I like that Ah Yeah, really long stories man with an orange forehead What else do we have so it's coming up? This is the last talk. It's 6 30 Are there any announcement from the organizers if we want any organizers here anything? We should know about tomorrow or anything. We've got to get done All right, I'm still wearing my beginner mentor badge anyone so any questions at this point What's with the stars? well the stars were from like this this is the kind of thing you pick up if you hang around the Django girls booth for More than about five minutes, so So I think they gave me a present. It was really nice. It was a it was a goat So I thought I'd wear the stars just to just to represent that there you go stars and mouses Yeah, good question. Thank you. I was happy to answer it. Uh-huh. Any others? They're flip-flops, you know, you can't really wander around freely in flip-flops like this keeps me more grounded Definitely recommended for talks like because if you with flip-flops, you're like and you need to go somewhere You know, you've got this sort of like oh, maybe I'll trip over them slightly and I feel like it's not quite right And whereas if you've got no shoes, you like, you know everything you're in contact with the ground You're safe like from the ground up. Everything's alright. So hopefully the presentation is gonna go well as well Like a little details there Who here read my tips for like who here is a speaker? Who knows X Randa? Yeah, who here is like an X Randa contributor that would help I was great. Let's just do like this You ready you ready? Yeah, anyway Yeah, so in Python we have all these very very very contrived contrived things like program flow components like ifs and returns and and Rays but in C Those guys only use ever use return for returning an error code So we we think this is very a very contrived way of doing things So me and my colleagues sat in the sauna the other day and discussed this problem and Came up with a very good solution which we call exceptional programming So the solution is is this we We do like to see guys but in reverse and replace everything with exceptions So This is obviously a very good method because we don't return here We don't do any any sort of weirdness. We just just graces and we can show this off right here This obviously prints a one Like exactly like you would expect or not Can also show a very this is obviously a very bad method where you use weirdness like returns So let's show off what this results in So we have not not only implemented Implemented this on methods, but on comparative things as well Obviously, you don't want to use ifs if you can choose to do choose to use exceptions instead. So This is a fist buzzer written in purely in exceptional state flow And and since we in and everyone who knows what fist buses knows that this means that In the no no exception error is basically equivalent to none in this case Because if you if you don't raise anything, this is what will get raised So the fist bus is obviously working as intended And this is all uploaded on gets help you can use it if you want to I don't recommend it Thanks very much so that takes us to the end of the lightning talks Thanks very much to each and every one of you for being absolutely wonderful I must have spoken to about a hundred people at this conference every single one of it is amazing lovely wonderful people Completely different from each other in odd and weird ways And so thank you all for being exceptional. Thank you for being here one more day at a conference Give yourselves a big round of applause to yourself all the speakers all the organizers everyone have a lovely evening. Good night