We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

EuroPython 2016: Lightning Talks IV

00:00

Formal Metadata

Title
EuroPython 2016: Lightning Talks IV
Title of Series
Part Number
74
Number of Parts
169
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Various speakers - Lightning Talks Lightning talks, presented by Harry Percival
11
52
79
ArmLine (geometry)Ring (mathematics)Metropolitan area networkExecution unitMereologyProcess (computing)Reading (process)TwitterSelf-organizationCore dumpLecture/ConferenceComputer animationMeeting/Interview
Menu (computing)Pointer (computer programming)Storage area networkConditional-access moduleLucas sequenceLine (geometry)Binary fileRippingMusical ensembleTable (information)Maxima and minimaWeb pageMetropolitan area networkData acquisitionBit error rateArithmetic logic unitArtificial neural networkReal numberBitEngineering physicsWhiteboardModule (mathematics)Endliche ModelltheorieHazard (2005 film)Computer fileType theoryCASE <Informatik>Form (programming)Chemical equationProcess (computing)DatabaseComputer animation
Real numberCloud computingEnvelope (mathematics)RootFunctional (mathematics)Element (mathematics)Object (grammar)Latent heatComputer fileElectronic mailing listMedical imagingVideo gameFile systemHTTP cookieRegulärer Ausdruck <Textverarbeitung>Network topologyIntrusion detection systemGraphical user interfaceComputer animationLecture/ConferenceSource code
Gamma functionReal numberNetwork topologyComputer fileDifferent (Kate Ryan album)Data structureParameter (computer programming)MereologyMetropolitan area networkChemical equationBitPairwise comparisonSelf-organizationLecture/ConferenceSource codeJSON
Open sourceMultiplication signMereologyObject (grammar)Row (database)Heegaard splittingMultiplicationLecture/Conference
Adaptive behaviorProcess (computing)AdditionMereologyMaxima and minimaDimensional analysisWave packetTrailInheritance (object-oriented programming)Dressing (medical)Universe (mathematics)Product (business)Stress (mechanics)Lecture/Conference
MathematicsPlanningMultiplication signLecture/Conference
1 (number)TowerMultiplication signVideo gameQuicksortLecture/Conference
Multiplication signHill differential equationWordInternetworkingNatural numberOvalDigital photographyLecture/Conference
View (database)ArmMoment (mathematics)Lecture/Conference
Computer fileTelecommunicationSatelliteMultiplication signMoment (mathematics)Student's t-testMUDVideo gameBitGoodness of fitLecture/Conference
Video gameDifferent (Kate Ryan album)Moment (mathematics)Lecture/Conference
Open setGraph coloringOpen sourceGreen's functionSoftware maintenanceSlide ruleMultiplication signParameter (computer programming)Process (computing)Lecture/ConferenceComputer animation
Data acquisitionTask (computing)Kernel (computing)MathematicsCombinational logicComputer fileMorley's categoricity theoremMultilaterationLevel (video gaming)Web pageElectronic mailing listXMLUMLLecture/ConferenceJSON
Dependent and independent variablesCodeMathematical analysisCASE <Informatik>Dependent and independent variablesProcess (computing)Multiplication signDrop (liquid)Lecture/ConferenceXMLUML
CodeCodeInformationSoftware developerLecture/ConferenceUML
CodeFeedbackCodeCore dumpFeedbackProcess (computing)Multiplication signOrder (biology)XMLUMLLecture/Conference
Codierung <Programmierung>Multiplication signWordCodeCodeLecture/ConferenceJSONXMLUML
Open setProjective planeSpacetimeSoftware maintenanceWebsiteTunisMultiplication signPresentation of a groupBitHypermediaTwitterMessage passingFeedbackWeb browserUMLLecture/Conference
Point (geometry)Electronic mailing listSpeech synthesisWater vaporMultiplication signLecture/ConferenceJSON
World Wide Web ConsortiumSoftware developerProcess (computing)Multiplication signVideo gameWeb-DesignerProcess (computing)Execution unitOnline helpBitNetwork topologyWebsiteMappingDatabaseJSONXMLUMLLecture/Conference
Level (video gaming)State of matterMetropolitan area networkModule (mathematics)DatabaseMappingUniform resource locatorSet (mathematics)Level (video gaming)Projective planeComputer animationLecture/Conference
Metropolitan area networkCodeWindowEndliche ModelltheorieSocial classNewton's law of universal gravitationForm (programming)Projective planeLevel (video gaming)Duality (mathematics)CodeOnline helpEndliche ModelltheorieWebsiteUniform resource locatorAuthenticationRight angleSheaf (mathematics)Serial portLecture/ConferenceComputer animationSource codeXML
Electronic mailing listEndliche ModelltheorieCodeWindowSerial portCodeCodierung <Programmierung>EmailTerm (mathematics)Dependent and independent variablesFrustrationProcedural programmingLecture/ConferenceSource codeXMLComputer animation
WindowStatisticsDemonCharge carrierMultiplication signXMLLecture/Conference
DebuggerSocial classSoftware bugCartesian coordinate systemDemo (music)Lecture/ConferenceComputer animation
Social classProgrammschleifeDebuggerLogarithmNewton's law of universal gravitationLine (geometry)Electronic mailing listRevision controlObject (grammar)Line (geometry)CASE <Informatik>Crash (computing)Continuum hypothesisData loggerPresentation of a groupReverse engineeringComputer programmingNumberType theoryCodeInterpreter (computing)Letterpress printingComputer fileDebuggerFerry CorstenLoop (music)Computer animationLecture/Conference
Line (geometry)Computer fileSocial classRight anglePoint (geometry)Physical systemMathematicsLine (geometry)CountingElectronic mailing listSoftware bugLecture/ConferenceComputer animation
Pattern languageRight angleLecture/Conference
PressurePhysical systemWindowData managementNeuroinformatikPrimitive (album)Electronic visual displayLecture/ConferenceComputer animationMeeting/Interview
Line (geometry)Interface (computing)Primitive (album)Extension (kinesiology)WindowBit rateProcedural programmingInterface (computing)TouchscreenCommunications protocolExtension (kinesiology)WindowTesselationRotationData managementComputer programmingAngleStress (mechanics)Computer animationLecture/Conference
Line (geometry)Modul <Datentyp>Function (mathematics)Event horizonFreewareDialectExtension (kinesiology)Machine visionFormal languageDemo (music)Asynchronous Transfer ModeEvent horizonTesselationSocial classComputer animation
outputFunction (mathematics)Modul <Datentyp>Event horizonElectronic data interchangeComputer configurationComputer fileMathematicsConfiguration spaceModule (mathematics)Asynchronous Transfer ModeOrder (biology)FreewareForm (programming)TouchscreenEmbargoInstance (computer science)Right angleObject-oriented programmingComputer animationLecture/Conference
outputFunction (mathematics)Modul <Datentyp>Event horizonRothe-VerfahrenDiscrete element methodMetropolitan area networkBefehlsprozessorDigital photographyRing (mathematics)InformationSlide ruleConfiguration spaceRight angleTerm (mathematics)SummierbarkeitFreewareTwitterLecture/ConferenceComputer animation
Function (mathematics)Scripting languageoutputComputer fileElectronic visual displayModul <Datentyp>Mathematical singularityEvent horizonBit error rateBitEuler anglesNumberControl flowMetropolitan area networkComputer animationLecture/Conference
NumberWage labourSpacetimeHacker (term)Lecture/ConferenceMeeting/InterviewComputer animation
Hacker (term)Lecture/ConferenceComputer animationMeeting/Interview
Computer programExt functorOpen setFreewareHacker (term)Digital signalWebsiteProgrammer (hardware)Term (mathematics)Boolean algebraSystem callProjective planeVideo gameOpen setGraph coloringMetreLecture/ConferenceMeeting/Interview
InformationBroadcasting (networking)Online helpUniform resource locatorStudent's t-testStiff equationDiscrete element methodLecture/ConferenceMeeting/InterviewJSON
Visualization (computer graphics)StatisticsCoefficient of determinationStatement (computer science)FamilyDiscrete element methodLecture/Conference
Event horizonHacker (term)Open setFreewareData managementService (economics)Inverse elementEvent horizonSoftwareData storage deviceHacker (term)Descriptive statisticsWebsiteCASE <Informatik>ResultantSource codeLecture/ConferenceComputer animationMeeting/Interview
Hacker (term)Information securityEvent horizonMetropolitan area networkConfiguration spaceSoftware testingVector spaceSequelComputer iconVisualization (computer graphics)Lecture/ConferenceJSONMeeting/Interview
MereologyMaterialization (paranormal)Rule of inferenceLimit (category theory)AuthorizationLecture/ConferenceComputer animation
Social classTwitterGoodness of fitCodeData managementLecture/ConferenceComputer animation
Interface (computing)Local ringCoefficient of determinationSocial classData analysisLibrary (computing)Computational scienceMathematical analysisVideo gameVisualization (computer graphics)Type theoryTask (computing)Interface (computing)Set (mathematics)Lecture/ConferenceComputer animation
Interface (computing)Plot (narrative)Distribution (mathematics)Linear regressionGradientCartesian coordinate systemInformationLevel (video gaming)Interface (computing)Functional (mathematics)PlotterBlogLinear regressionCategory of beingExpert systemObject (grammar)Multiplication signDistribution (mathematics)Graph coloringTime seriesFerry CorstenVariable (mathematics)Morley's categoricity theoremWeightArithmetic meanLecture/ConferenceComputer animation
Mathematical singularityOrder (biology)IntelArithmetic meanCuboidAreaRobust statisticsEstimatorPlotterOutlierOrder (biology)BitCartesian coordinate systemStudent's t-testGradientSet (mathematics)2 (number)Heegaard splittingComputer animationLecture/ConferenceProgram flowchart
SineDiscrete element methodMetropolitan area networkPlot (narrative)String (computer science)KnotData acquisitionVariable (mathematics)PlotterBitLine (geometry)MathematicsCategory of beingCASE <Informatik>Multiplication signTime seriesNegative numberDatabaseSubject indexingMereologyString (computer science)Sampling (statistics)Partial derivativeCausalitySet (mathematics)Lecture/ConferenceComputer animation
Price indexKnotData acquisitionMedianCurveConcentricMathematicsMultiplication signDifferent (Kate Ryan album)InformationSet (mathematics)Pattern recognitionRobust statisticsFrame problemTheoryCodeLine (geometry)MedianPlotterLecture/ConferenceComputer animation
Cloud computingUniformer RaumLine (geometry)InformationPlotterRow (database)Lecture/ConferenceDiagram
ProteinImage registrationLecture/Conference
Computer configurationGreatest elementFood energySoftware testingData managementMeasurementNatural numberBlock (periodic table)Multiplication signProcess (computing)Computer animationLecture/Conference
Computer configurationMetropolitan area networkData typeRoundness (object)AreaSocial classVideo gameResolvent formalismMultiplication signMeta elementRevision controlCodeSimilarity (geometry)CASE <Informatik>Computer animationLecture/Conference
Real numberSocial classComputer configurationGradientMultiplication signFluid staticsMathematical analysisInverse elementString (computer science)AreaSummierbarkeitExecution unitSource codeOrder (biology)Forcing (mathematics)Exception handling2 (number)WritingProjective planeMobile appServer (computing)FeedbackMeta elementSoftware testingNoise (electronics)Source code
Real numberMereologyWordTraffic reportingRight angleCASE <Informatik>EstimatorMultiplication signSocial classSoftware testingException handlingOntologyLecture/ConferenceSource codeJSON
Metropolitan area networkMaxima and minimaAttribute grammarSocial classReal numberGamma functionPointer (computer programming)Social classMultiplication signParameter (computer programming)Code refactoringServer (computing)Meta elementBitComputer animationXMLLecture/Conference
Red HatWave packetSelf-organizationStaff (military)Bridging (networking)Natural numberPoint cloudLecture/ConferenceComputer animation
Transcript: English(auto-generated)
fun Alex it seems like you're here again are you gonna tell us about Hansel yes take it away Alex so just one thing before if you like the t-shirt please
for this girl this is the artist that made the design the design she's a local artist a very friend of ours and she does she does a great job and well if you liked it please tweet about it okay thank you so well I'm I'm Alex
Savio I'm one of the core organizers I'm a co-founder of the Python Sebastian society this and I'm one of the EPS board members I work in Munich in the hospital and I'm going to talk about a small module that I I did
for my work last Christmas it's called Hansel and I'm going to show a bit so in my in my job I I usually work with databases of files so they are
basically totally balanced three of folders and files so for for example in this case I have the subject ID a subfolder called session and then one
type of file and another folder for another type of file and then finally the file so to to parse all this like I couldn't find something that would help me enough and so I created I created some Hansel which which has a
an object called crumb and it works like so here I define the root the root of the of where this this tree this file tree is and then next I put so I
say here go the the subject IDs then the session and then the folder where the image files are and then actually the files so this is how I define the chrome and then I can ask for the subject IDs available in the file
system yes and then I can I have a list function and sorry and if I do list I get a list of crumb objects with each one with the with one instance
of of the existing SID so for each one of these I can I can ask for it's a
crumb file and so it's a crumb object and I can ask for the specific specific idea of each element and I can also keep searching inside it and then also I can look I can use regex or file name matching so for example if I want
only the subject IDs that finish with 0 1 I can do this it has other functions like intersection to compare different so copies of the same file tree I don't have the live demo prepared and also it can copy crumb file
trees and with different structures so using the same arguments names I can copy different different parts of the tree somewhere else yeah that's it
ladies and gentlemen I know that Alex is a very humble man and he might have skipped over that so I'm just gonna embarrass him a little bit here because I think he snuck away last year before we could do this but Alex is actually the chairman of the conference and he ran the conference
here last year and he ran it this year so we all owe him a huge debt of gratitude I mean to all the organizers but especially Alex but please show your appreciation okay I don't think he's actually gonna kill me so next we
have leave your camera at home by Maximilian salts after that we'll have
Lassa on growing an open source community unless I think I saw your hair mind yourself and then after that we've got Pat Curry Pat are you here fantastic hi Pat and Armin can I see you in the front row somewhere there he is fantastic okay so during this lightning talk session as per tradition
we should have one incredibly long joke split over into multiple parts we should have one rap and one song now we don't want to mess about too much so I could probably try and combine the rap and the song for you so let me just show
you how the VGA adapters work because that's got to be part of my job too which are you VGA and that should work a little better to give a big hand
okay so my name is max and I'm gonna tell you story two years ago it was in
the end of September and I just finished my last exams in university I decided I wanted to get out go away from stress and it was a Sunday afternoon I had dinner with my parents and I decided I wanted to go on a trekking trip to Sweden in the middle of nowhere not talk to another human
person for like a week so on Monday I went to the outer shop we have in Hamburg and on Tuesday I got my ticket and on Wednesday I went on the train to Sweden and my first big adventure in Sweden started so what you can see here is something like the first five minutes of the trip and then it
changes to something like this you're in the middle of nowhere there's only piece around you and I really enjoyed it but I had this nice plan to do around hundred kilometers in a week which is a lot if you're carrying around 20 kilograms of baggage with you so the only thing that kind of felt
civilized I took with me or the camera and every time I saw a place I liked I took out my camera and took a picture like this so I came back with around 500 pictures or so probably half of it was garbage you couldn't see anything
on it because it was I don't know shaky or anything um but I noticed after the trip that every time I saw something I liked I took a picture of it and then I moved on because I had a lot of way in front of me so I kind of felt like these tourists you see for example in Paris in front of the
Eiffel Tower and everyone is just taking a picture of the Eiffel Tower and no one is actually looking at the Eiffel Tower so this is what I saw all day it's beautiful and after I came back I wondered why didn't I sit down for a moment and enjoy it but only took out my camera and made a picture of it so I
decided last year that I would do it again and instead of taking a pic a camera I would take a diary I've never ever written a diary in my life and it felt kind of strange doing it in the first two days was like talking to myself and usually you're crazy if you do that but then I remembered the
last time I went to Sweden I started to talk myself anyway after like two or three days of not talking to anyone and I didn't really have discussions with myself it was mostly swearing if there was a steep hill or I don't know
I just wanted to say bad words because no one could hear me scream them from the top of my lungs um so what happened then was there's lakes everywhere in Sweden where I was so I discovered like a small current to a lake
that was not on my way but I went there anyway because well maybe it was it was nice and I arrived at a lake that was beautiful it was stunning it was like on one of these photos you see on the internet and I decided well you didn't want to do the thing you did last year so why don't you just sit
down here and I sat down put my bag as beside like took off my shoes and just stared into the void of Swedish nature and probably took me two hours to realize that I did that for two hours and didn't do anything else so from
that comes a very nice story because the first thing I noticed after like waking up from that was that I had dragonflies and bees sitting all over me and if you're at a rivule like this this was the view I had and you look on your knees and on your arms and I think I had like two dragonflies and a
whole lot of bees sitting on my hair in my arms you start to think about why are they there and for me in that moment it was probably because of my smell so I thought about how how will I smell or how do I smell for what
has to be the king of dragonflies and bees so bees like sweet things so I to smell kind of like honey and the only thing I remember remembered about dragonflies was that the dragonfly lava eats frog lava and ponds so I probably smell like mud too which is fitting after not showering for four days so the only thing that came out of that moment was the stupid
thought but I was happy and I didn't take a picture of it the only thing I was writing the stupid story down my diary and the name of my talk is leave your camera and home because I think we should live in the moment a bit more
not think about how I'm gonna do 100 kilometers in Sweden but instead of that going I'm gonna have a good time in Sweden not do anything there just sit it like becoming the king of dragonflies and bees smelling like honey and mud because what else is there to life than that and in the end I
have a confession to make these pictures are taken from unsplashed these are not the two pictures I took on my first trip and that is just to make you realize this talk was good with pictures from different people so why take your own instead just like the moment enjoy it thanks
I'm a very harsh lightning talk host but sometimes you can't quite bring yourself to end it on exactly five minutes zero zero can you
let's say you ready yes the rest are a big hand everyone I want to talk about green open-source community about being newcomer friendly because there are a lot of maintenance here and there are a lot of newcomers here
let's bring them together I'm talking about experiences we have made from the koala community so during those slides you will see quotes from people that have done our newcomer process they will hopefully support my arguments however this talk is not a koala talk so let's get started I think one of the
most important things to do if you want to attract newcomers is make newcomer issues file issues if you see a typo file another one if you see another one don't fix it and if you want to be even better you try to build
a kind of letter newcomers climb up so try to categorize your issues in newcomer difficulty low difficulty medium difficulty high let them get to the next level and that is something that people really like and is really helpful of course you need documentation so ideally you just make
a documentation page pointing to your list of newcomer issues and maybe explaining something about your workflow then newcomers can learn about your workflow and get smoothly started what I think is also very important is rewarding newcomers so we have had some newcomers contributing some really
really awesome bears for koala which means new code analysis and what we did in those cases was we tweeted it out to our users because it's great it is awesome and you did an awesome job we want them to know that and our users well there's one thing about responsiveness when you have a community
and you want it to grow try to respond now whenever there's any question drop everything you have right now respond right now the response can be I don't have time up until next week but respond now it is also
very important to know that code review we have seen this and a lot of other talks as well code review is a good way to exchange information so you of course want to review the newcomers code and you want to do it friendly with newcomers be especially carefully make them aware that you're
doing this to everyone not to annoy him but also very very soon you'll want to have the newcomer review your code because in this way you always get the fresh experience from the newcomer together with the like old but more seasoned experience from a senior developer so you can get the best code
and the best learning experience that's a two-way street so use it of course if you have a channel and you should have a channel if your loan on code discussions like make an off-topic channel or something that current greatly enhance the social aspect of being in such a community I think the
off-topic channel is one of the most channels in the koala community almost as much used as the main channel actually and when a newcomer has was getting started with your community ask him for feedback because he has done
the process and he will know way better what he needs in order to get started so you can improve next time at the same time you show with this that you appreciate his opinion and the last and most important thing I think is live the spirit you want the community to be because it is not an empty
sentence that a lot of people say that a community or things that you do as a leader will be amplified the way you raise the community it will be so very very few words on how you can actually get newcomers to use you newly polished pipeline for newcomers participate in hackathons summer of
codes make workshops for newcomers and just enjoy them coming to you so I always end my talks with something you I want you to do maintainers please try to do at least some of this for your project the open spaces
was yesterday sorry I forgot to update the site and the newcomers asked for those things because maybe the main tune it just doesn't know about it yet thank you very much thanks Lassa up next we have reverse so we have a
Pat Curry on this is my first time for everything hey so listen I I gather that and I haven't seen this directly that on Twitter some people were saying that maybe I was a little bit mean to Florian after his his presentation
about the amazing VIM powered browser so I just want to say a couple of things first of all I'm a VIM user and I think that idea is awesome and second of all like if I was saying a project this niche and this crazy if he can do it anyone can do it my message there really was one of ambition like
that is a niche project but I want to you know that thing should really stimulate each and every one of us to go out and try things and we're always surprised by the feedback we can get back from strangers and from the community out there so really for me it was an inspirational story that's really what I meant to emphasize I'm sorry if I gave the wrong impression but please take the lesson that I did from that story which is Florian is
amazing we all can be amazing and we should all go out and try these things that seem impossible and we're so often surprised by how well they'll turn out so forget applauding that please applaud Patrick who's come us to tell us about everything I see us esti es mi primera vez hablando en espanol
de la ente un grande al dentia gracias la gente de bilbao los organizadores del euro Python this is also my first time speaking in English in front of such a large crowd it's my first lightning talk it's my
first year of Python a couple days ago was the first time I've ever been pickpocketed this is my first time using reveal.js and I am now working at my first web developer job at the Leibniz Zinthrom from marine tropin ecology in Bremen Germany you know and these are my contacts details
I'm gonna be asking for help in a little bit here's another first so why did the monkey paint his balls red to hide in a cherry tree yeah I know I know so what's the loudest sound in the jungle a giraffe
eating cherries yeah okay so this is the site that I'm working on and it's built on a Django back end with a Postgres database and a leaflet JS maps background and what I do is I call using the request module URL where I
have a data set that I can project on here so here's some dummy data sets this is one this is Bienvenidos here's another one you can call it and it hopefully will arrive there it is this is the ZMT that I work at in
Bremen and it's here anyways it works and the idea is to create a place where people can put their mapping data sets and project them on to a map this is the form that you would use to put everything on there and then hopefully
I'll be able to display everything onto a map like this and I'm working on this project all alone and after watching Google Matthews and um dang or is Daniel proceed us and the koala's talks on reviewing code I felt like I
should ask for some help so this is the Django model that I use it's fairly simple and the most important the URLs section right here I'm going to be adding a user model for authentication and stuff but I call the URL to get
the data into the the site and from a the requests and serializers and this is what that looks like it's kind of crazy and I'm pretty sure that there's a better way to do this but I don't know it so I've come here to ask for
everybody's help saying we've been talking about code review if you guys have any suggestions send me an email or you know want to do some code review go ahead and find the github account oh and I'll put that up in just a second in response to Daniel proceed us frustration with the terms rock star
and ninja I thought maybe we could be wizards maybe we could be electric wizards thank you Patrick so Armin Armin you're next after Armin will have
Pierre Gilbert on pi3 stats Pierre are you here fantastic and then after that we've got Danny and Andreas on sha 2017 I should also say that when
I joke about this year being Linux on the desktop that I am a proud Linux user and I fight those issues all the time and I have the full Stockholm syndrome that's engendered by that Armin are you ready to go give him a big hand everyone so this is what very boring problem you have a big
application big Python application and this big Python application has a bug then well you're probably going to spend the next two weeks fighting this
bug because it's hard to reproduce etc etc so just for fun here is one big application with a bug okay so everything I'm going to show in this demo is on this huge application but actually it works on a real large
application okay can you see what the problem is okay it's five and two yes
okay so obviously here the problem is that the list will contain one of the objects twice and then this loop will add the value of this single object it
will add one twice so that's then this strange assertion here will fail okay and then well of course if you run it crash you know and then you're not happy because well what crashes it this line here okay and then what can
I do I can I can I mean it's a bit pointless but like I could do that but then what do I get from that I get an object X and X dot value is seven yes thank you so what else can I do you can actually start it using a special
version of Python interpreter that is special version of pi pi actually as it turns out that does not really matter and I say that I want to produce a log
file so now I've run my program and it crashed and it produced a log file of everything that this program did okay so what do I do with it then I use
another program on the log file this is for color code lightning and now I get the debugger and this is called the reverse debugger because now I am at the first line and if I say continue it goes up to the last executed line
which is west exit in this case and we see that it's a nineteen eight hundred eight eighty eight executed line of code okay that's boring and then I can print my object and see that the value is wrong like it's seven
but what I can also do is going backwards step by step so now I'm on that other line okay that's not the end of the story now it's that value is
seven right yeah so X is V subjects dollar zero so I can actually print dollar zero dot value that's just a strange syntax but I can watch it now I'm watching dollars your own value and I can continue running backward and
now it stopped backward at the point where dollar zero the value changed this is the point where the value change to six and if I go again backward this is
the point further back where it changed to five okay so it so it means it's twice in the list LST one if I print LST one when it's a big list okay but I see that this big list is dollar two so I can watch I can see I
can count like yes it's really twice in this list why is it twice in this list I'm going to watch this now I'm watching the fact that this value is two now I continue backward and it's this line that's like before it was
one and after it's two so this is the line that is your real bug and now you found the bug thank you amen our next Pierre Gilbert Gilbert where are you
yeah there you go thanks kill fine so I'd like to do for you now one of my
favorite songs and one of my party pieces it's about a minute long and it's a song a famous rap actually I like to rap by an outfit called salt and pepper and I'll do that probably just after the next speaker please give you a big
hand hello so this is my first talk ever the your Python and it's about the pantry statues and next one also thank you so I'm sorry but it's very
excellent centric and Linux and stuff but you're going to say why it's from there oh no I don't want to worry about it but I hope this makes you want to switch to a better window managing system so why this talk I was watching people trying to plug their computer yesterday struggling so hard
with that display and I was like why this is 2016 it should not be that difficult exactly so what X is X wonder X wonder R is a primitive command line interface to the wonder our extension and wonder our extension is a kind of
communication protocol and X wonder provides the ability to use that protocol and resize rotate and do things with the new screens okay so what's I free WM I free WM is the the best tiling window manager out there
well and I free status is a very small program that handle in a very efficient way the dating of the I free bar and by the way I'm going to show you the I free bar in the next minute so be patient but also check
with Q tile it's written in Python and it's quite like I free so what's by free status it's an extension of I free status that's it the handle the I free bar and it can do a lot of things the class feature is for me is that it
can handle click events so I'm going to to show you live demo of it so oh okay I'm just yes I'm going to switch to clone mode so up and so now you can just see what I'm seeing right now so this is the I free bar there and this
is the X order our module of pi free status and I can scroll and change mode and I can change also the sound and stuff like that so this is on the
left side the the simple configuration of X order and you can see that I can say when I plug my this paper it will put the HDMI I1 on the right form for instance and I can do that I can can shut down the screen oops and I
can do I can do that also I can just say I don't want to be on the screen
and then I plug it and then when I plug it back on oh I have to and when I plug it back on and so I'm back to the slides now and when this is the
configuration and I'm going to show you the GitHub now but I hope you all like this right now amazed and yeah so here's the GitHub you see some things
about pi free status on the Twitter so if you want to to share your impression or I'll see what people are talking about saying about pi free status and please you're all saying what I'm doing right now no please have a
look at the guitar is one of those songs that you start off thinking is really lame and then you kind of like it in an ironic way and then you
realize one day that you just you just actually like it now I can bring home the bacon fried in the pan never let you forget that you're mad cuz I'm a w-o-m-a-n that's what I am doing what I can the thing that makes me mad crazy upset gotta break my neck just to get my respect go to work and get paid less than a man when I'm doing the same damn thing as he can uh-uh
when I'm aggressive then I'm a witch when I got attitude you call me a bitch if we could be a weaker sex fool oh yeah you a fool have you ever been in labor I don't think so no I'm a genuine feminine female thing can you hang ain't nothing but a sheet thing done shot 2017 everyone thank you
thank you okay we're gonna talk about not really a conference but a camp that is next year shot 2017 we are actually not Danny and
Andreas but which talk that's me and this is Bix we're from hack 42 which is a Dutch hacker space actually the best hacker space Varnem also the only hacker space Varnem so this shot 2017 what is it well the unofficial name is
still hacking anyway you may or may not know that every four years there is a hacker camp in the Netherlands three years ago that was own 2013 that was my first hacker camp I think Bix has been to many more one more okay
anyway so what is it like I said every four years and every four years we think of another confusing name so sorry it's actually a large large camp
site we've got a lot of big tents that are really way too hot we don't have any
hotels or stuff like that if you want to go to it you'll have to bring your own camping stuff and there's well nerds techies programmers maybe even people speak Python there there's people who talk boolean over there
really everything like that you know what can you find there well open technology the most amazing tech the most amazing knowledge we do little little projects what you see on this picture is actually a radio antenna and
the colors on there is a life-working VU meter that was indicating whether there was any broadcast at all really so please join us either come and help us
organize or be a volunteer at the campsite this is our URL thank you thanks very much we've got promoting Python a student community mentoring
interns interns by Bhargava are you here Bhargava we'll skip that one for a minute FOS dem stiff and we are tell after stiff and if we can if we can find the promoting Python Bhargava person otherwise statistical data visualizations by Klaus a Kinga Klaus are you here somewhere fantastic so this
boy has this dog and it's a very shaggy dog and and all his friends are all constantly remarking on the the exceptional shagginess of this dog and eventually his friends and family say you know what you should enter your dog
in the in the village shaggy dog competition to see who has the shaggiest dog so he thinks okay well I'll give it a go I mean it's not I mean okay well how could I really win I'm not so sure I'll tell you who can win is stiff and telling you about FOS dem so my name is not really
important that I'm just Stefan so it's just an announcement about one date the four and five February 2017 in Brussels in Belgium we will have the first damn 2016 17 sorry it's just a small event where we can find some
hackers lecturers and the rest yes the description on the website but in brief it's just talk act here talk act sometimes some beers okay the result some we try to improve the free and hopper source software in my case
just Python we try also to improve the skill my skin and acknowledge so for the first them it's just a small event we found five thousand occurs for hundred lecturers and of course unlimited beers because we are in
Belgium so yes this event is totally free okay for the next we have some topics you are you like pythons but I think that you like some other topics we can find hello VM security postgres equal my sequel visualization with gazan docker and the rest testing hi OT configuration Kontner go
Ruby and pearl so but of course there is a fight on the room so a small example if you don't know FOS them it's just that 1,000 people in the
same room 1,000 it's not the bigger room so welcome to Python for them 2017 the last year we receive 500 awesome penanistas thank you 16 lecturers and
of course unlimited beers that's the room of the Python for them at the year with the success we receive 400 or 500 people in the same room thank you
it's all oh sorry so thank you Stefan I just I just like to say that I've
been to FOS them and I've been to Belgium just for it and it's not only beer that you can get in Belgium and you don't have to drink there that's not compulsory you can also get fries fantastic so I Klaus are you coming up and getting ready after Klaus will have you're an F mark of yet
probably yeah managing compliance and technical debt pretty close so
surprise surprise he goes and actually wins this local shaggy dog competition his dog is so shaggy that he wins the village shaggy dog competition would you believe are you ready Klaus yeah let's give it a go I'm Klaus I do data
analysis and scientific computing and I want to quickly show you the library that really increase the quality of my working life visually exploring data sets is often very tedious tasks and this is where seaborn comes in handy so seaborn is a visualization library that is built on top of matplotlib and
also sci-fi and pandas so it's kind of standing on the shoulders of giants and it offers a high-level interface to to produce statistical graphics so it might be interesting because it has nice style functions appealing color palettes and you can do distribution plots regression plots
category plots and exit with objects so I'll give you a few examples basically for the time series plot and a category plot I fear a small data set categorical variables and wage and we want to see how wage depends on these categorical variables I hope it is okay if I continue because it's not
very inclusive our data set they're only made made participants but I hope it's okay so let's see what we have I want to see how wage depends on education and ways by means of box plots for those who don't know what boxplots are it's basically a plot and a box so here we have half of the data
lies in this area we have some robust statistical estimates estimates and here we have outliers so there are some people earning quite a lot of money and yeah we said we want to relate it to education so let's add education to the x-axis and we see here it also I think it already looks
quite fine but the order is a bit distorted so let's let's change the order here by adding the order keyword and we see that it helps to have high education but it is not really necessary so you can already be a top earner even as a grad student at least in this data set and yeah how
about race so let's include race we could do this of course by adding a second plot but it's hard to see the relationship so it would be much nicer to first split the data set according to education and then according to race so
let's do that we have a hue variable which is split up by race and now we have everything together over the education and also over race then you might say okay it's a bit dense so make it lighter change the styling of the plot and yeah for example like this and I don't know whether you used
to matplotlib but I think five lines for this graphic that's quite good so it's a fast way to produce good-looking overview graphics so this was an example for in the categorical plot another thing that I have
frequently is a time series so in this case we'll take a look at the sample data from European air quality database in this case it's a nitrogen dioxide so it looks like this we have a date-time index and some variable and we want to explore this variable in this case it's from Vienna but I think
it doesn't matter here so what does it look like for sake of simplicity restrict ourselves to the last year in the data set we use a partial string indexing that's quite nice I think it's part of a pandas feature and yeah this is how it looks like so we know that the cause for nitrogen
dioxide are for example cars so since we know that cars don't occur uniformly over the day it would be interesting to see how the concentration changes over time and also whether there is a difference between weekends and during
the week so let's add this information to the data set I had a column whether that tells us is it weekend or not we had another variable that is depicting the hour of day and another variable that we need for aggregation purposes so we just add the information that we want to display in our plot to our data frame and then we just plot it so it's like this
maybe it's a but hard to read so it would be nicer if you could aggregate maybe using a median or so some some other robust estimator let's do this and there we are so we clearly see that during the weekend the nitrogen dioxide concentration is much much less we have this typical peak in the morning
hours caused by all the people who drive to work by car and there we are so we had just a few lines of code to add the information and another three lines for the plot for me this is quite useful and maybe you want to check it out as well I think my five minutes are over so thank you thank you
very much we have a couple of announcements Alexander here can you see him everyone stand up we've just received notification that a talk is
canceled at the last minute so if anybody would like to do an extra last minute talk first come first served you have to find Alexander after the lightning talks end because it's not fair otherwise just the front row will get to him first so first come first serve free talks not tomorrow the other announcement is that Pokemon trainer trainer by the name of well so a Pokemon
trainer has won the Pokemon go championship but I'm here to announce their name the name is a throaty mule are you in here maybe it's an
anonymous thing but anyway the prize is a free ticket to the cider house for this evening so you'll be able to pick that up from the the registration text congrats the best Pokemon trainer whatever that means and one final clap
here for year next please so hi guys I must confess I really liked all the lectures but there were some that really somehow resonated with me I was really surprised how many therapeutic sessions we had you know we talked
about how we write test how the upper management doesn't understand that we need to write test and we also discussed how to make pull request
reviews as best as possible and so all of this energy just to not fuck up things and like an hour ago we had a discussion it was a talk what do we do when we fuck up things so in my day job we do a lot of time with startups
that have similar problems and interestingly it doesn't matter if they are very small if they are just verifying the market or if they just got like 10 million dollars in their defunding round and I just thought it
would be interesting to share some of the solutions that worked for us so yeah again the meta classes guy so meta classes at the end of the day are really not that black magic and I would try to argue how they can
actually help us in daily life to resolve conflicts or similar things so the first picture should basically make the whole point and because I don't
have much time I'll just skip it I'll just make the case so you can then at home check what is actually going on okay we have some code so you see we have here two classes the first is decorate public methods and the second is require docs so usually the teams that don't have the time or the budget
to write tests and yada yada they also probably don't have time or the budget or the resources or whatever to set up the CI pipelines and things like that so the other options is of course to find some static analysis
tools or linters and configure them correctly but if you have like a legacy project you'll get just noise so here are a couple of solutions so the required docs class you see it there is a method here which indicates that it is
somehow connected with meta classes and now every class that will be subclassed from this one will check on initialization or better yet whenever you start the app so you get instant feedback no waiting for the test or the
CI server or whatever you just run it and you'll get an exception if your method doesn't contain docstring so how cool is that so if you want to go further you can analyze the docstring and say and write your parcel here and
say hey if this docstring doesn't comply to let's say Google guidelines throw an exception and you can do a lot of cool things like that just with meta classes and again you get like instant feedback you don't have to wait for Jenkins or whatever and it doesn't take a lot of resources so
that was kind of the compliance part and towards the technical depth part so again I worked with Selenium for quite some time and you know if you want to have the proper reports and so on you have to configure a bunch of
things so a solution would be to write a decorator that catches an exception and makes a screenshot and at that point but in this case you have to decorate all of your test methods not very cool just write a class like this a meta class and use it in your test class and from them from
there if your subclass that class it just works it so if you check out what's happening here it you traverse through the class methods and you
basically decorate them and you are doing that for all of them the other thing is yeah we didn't have time for design and whatever excuse and yeah basically you can refactor step by step and that's basically the same
solution okay yeah so you have a class it has some arguments and you can solve it like that with meta classes and that's it yeah thank you very much
yeah the crowd selfie everyone stick your tongues out and that is in fact all we have time for today so thank you very much to each and every single one speakers thanks to each and every one of you thanks to all the trainers thanks to all the organizers thanks to the volunteers thanks to the bar
staff in all the bars thanks to the restaurant owners thanks to the people who sell us ice cream on the street thanks to the people who made the bridges and the museum and the arts and and the pigeons and the birds and the bees and the nature in the sky and the clouds and everything