 Okay, thank you very much. My name is Dougal Matthews in full. I am here to talk to you about 10 years of your Python and the Python community, which is a title which is too long, which I failed to short on. Thank you all for coming along. It's great to have so many people in Scotland for your Python this year, and I hope you're all having a great week so far. In this talk, the alternative title, which is developing over today, is that I'm mostly going to tell you about how I ended up standing up here, tired and ghost-like, or a husk of a man I've been called. People are basically telling me constantly today how tired I am, and it's true I'm extremely tired, but I'll try and keep things together, but I'll explain that a bit later. So this is a fairly unusual talk for me. It's a personal story. It's one about my journey over the last 10 years. The first thing I'd really like to say is that I'm extremely privileged and lucky to have been able to go to your Python for 10 years in a row now, so this is my 10th your Python. It's been a great experience, and I really want to just share how that's been for me and what I've learned over the years, what I maybe wished I'd learned sooner or what I wish I'd done sooner in the process. So I think this is probably best for people which are fairly new to the community, or they've been around for a short while, but they're maybe looking to do a bit more or get more involved, or how they can get the most out of your Python and the community as well at large. So when I was doing some research for this, I wondered how big your Python was actually before I came, and it seems we were looking around mid to high 200s for the four years before. I'm not sure what happened in 2007 to cause it to drop down, and I couldn't actually find numbers for 2008, which was the last year before I came, and this year I'm told that there were 1,300 tickets sold, so it's grown quite a bit in the last 10 years. And there was some growth there in those numbers, but you can see it really started to trend upwards when I started coming, so you can draw your conclusion from that as you wish. The first two years were 2009, 2010, and that was held in Birmingham in England, and this was really my first introduction to the community. And one thing I meant to say earlier is this talk is going to be really light on slides. It's very much just me sharing a personal experience, so there's not going to be a whole lot up there. It's mostly going to just be there keeping me roughly on track, but no promises. I had been using Python for a little while before the conference, sort of on and off before 2009, sorry, and I can't really remember how much. It wasn't really that consistent. But I'd been following people online and be reading blogs and just tracking things in general. But going to the conference was really my first introduction to the community and all the people involved in it. I was really sort of in awe and kind of overwhelmed to be honest at the first time I was there. There's just so much enthusiasm, and everyone's so welcoming. And there's also so many incredibly smart people, which I had idolised at least a little bit just because I had followed them on Twitter or read about things that they'd done. And there I was. I just finished studying at university. I had basically no money. I just managed to scrape together enough money to get a student ticket, and I stayed at my sister's house, which happened to be nearby for the first year, so that was quite lucky. And I don't know if everyone seems so far away from me, but I think really over the first two years, as I started to speak to more people, you realise that everyone, they're just people. And they're all just trying to do their thing, trying to make the most out of the community. They're trying to do something. And you essentially should just take a similar approach yourself. It's also interesting to note that the 2009 Euro-Python was the first Euro-Python after Python 3 was released. It was released late in 2008. So while we're only really seeing the end of Python 3 now, I've actually never attended a Euro-Python that didn't have Python 3 being released, which surprised me. I don't recall any Python 3 being discussed back then. It was maybe a lofty. Is anyone doing Python 3 yet? And slowly the answers have increased as more people are getting involved. And speaking of being a bit starstruck, Guido attended Euro-Python in 2010. And I remember bumping into him in a lunch line, and I just had no idea what to say. It was really high on a pedestal for me then. I did bump into him a delay to Euro-Python and spoke to him a little bit. It's quite interesting how you view these people, but it's best just to realise that we're all just regular people at the end of the day, just doing our thing in the Python community. Birmingham is actually quite a nice city. It's got really great Indian food, if you like that. But I would say that the venue struggled a little bit with the size of the conference. One of the biggest takeaways for me from Birmingham was actually meeting Mark Smith, who's sitting in the front here. And the reason that that was important is together we then started Python Edinburgh. Since then I've moved away from Edinburgh and he has kept running things. But that was my first time organising anything really, and organising Python Edinburgh was a great experience. I met so many people and companies local, which otherwise I would never have really came across. And using that experience I later started Python Glasgow and had a similar experience with that. I still run that today. After Birmingham, the conference moved to Florence. I would say that Florence was really seen fondly by a lot of people. I think it's some of the favourite years for a lot of the people that I know that still come to Euro-Python. And we were there for three years in a row, 2011, 12 and 13. And really it was just a combination of a number of things which really worked well. I think the city is great, the food is great, the weather is great. The venue was actually really good, although we were reaching the limits of its capacity I would say towards the end of the time in Florence. And for me personally I started speaking in Florence for the first time. And I'm not sure if it was 2011 or 2012 was the first time I spoke. But there was an error we made in the organisation in that I submitted two talks because I wanted to make sure that I would speak. I had a good chance of speaking and I had both talks accepted. I was too green and nervous at the time to realise I should have said I'll just do one of them. So there was me speaking for the first time and I had to prepare two talks and I was really not well equipped for doing that at that point. And to make things worse there was actually two other talks which were very similar to both. There was one similar to each of my talks and they were both by people which were far more experienced and knew a lot more about the topic than me. But I think they mostly went over okay. They could certainly have been better but it was a great place for me to start. With the benefit of hindsight I would have certainly only done one of them. And now we have a one talk per speaker role which is definitely a good thing. But I think it's really important to realise that speaking at conferences you don't need to be a master in a subject. You don't need to be a master speaker. You just need to have something that you want to share and hopefully you can convey that message across to other people. And speaking is something that you get better at over time. I'm still far from a master at speaking. But I think I'm slowly getting better as time goes on. So it's good to start speaking if you're interested in it. Start early and try and speak regularly and often to improve as time goes. The other really important thing for me at this time was I made a lot of friends in Florence. There was a bar very close to the venue which is practically legendary at this point. If you ever hear people refer to the river bar, some people are still looking for a river bar at new conference venues. Essentially this bar was right next to the conference and everyone just kind of congregated there. It was a really good socialising point and it was close enough that people could go back and forth between the conference and the bar which may or may not be a good idea. But it was just a really good place to network and meet people. And at the same time I also made a lot of friends that were working at Red Hat which proved useful for me later on when I was made redundant and then was looking for a job. I suddenly had some connections which helped me at least to speed up the process for getting an interview and so on. Florence, one of the things which I think is either good or bad depending on how you feel about it. This is when your Python changed to five days of talks and the trainings were running in parallel. So in Birmingham it had actually been two days of trainings and three days of talks and then two days of sprints which is the same format we have this year. But in Florence somehow it changed into a five-day talk slash training marathon which was extremely tiring. But it also meant you had more time in Florence so that's good and bad. But just by the end I think everyone was really struggling. After Florence the conference went to Berlin. It's a very different experience I think compared to Florence. It's a much bigger city. Everyone tended to be more spare ends. It was harder to meet up with everyone. In Florence you wanted to meet people you'd walk somewhere in Berlin. You wanted to meet people you had to go and get the metro. I forget what they call it exactly. But it was generally a really good location as well. The biggest thing that happened to me at EuroPython is Tom Christie was talking there. He is a good Pythonista friend. But he's best known I think for his Django REST framework work. However in Berlin he was actually presenting MK DOX, a documentation tool which he had written for Django REST framework. And he'd spun it out into his own project and he was just promoting it. I attended it because I was Tom's friend. I wasn't actually that interested in documentation which is kind of funny. I value it a lot more now which is good. But during the talk he really persuaded me about the sort of light away workflow for doing your documentation. It was really important. It allowed you to focus on the things which are more important than you can care about. But like a lot of people do I was sitting there with my laptop and I got a bit distracted. I was listening to the talk. I was looking at the MK DOX GitHub and the website and I was like it looks quite nice. But then I noticed that the build was broken and I was triggered. So I stopped listening to the talk. I was like cloning the repo. I was running the tests. I was like is this test broken or is the code broken? I was like I couldn't really figure it out. But basically a broken test had been committed or a change that broke the code had been committed. And after that I eventually figured it out and Tom helped me merge it. I think later I actually found out that they were both broken and I just kind of made a slightly different broken. But this is what happens when you try and figure out my failing test where you have no idea what it should be doing. But that led to me being involved in the project for several years. I was the primary developer I guess. I never really had a title or anything but I was the most active developer on the project. It's a markdown documentation tool. It's really quite useful. I don't use it as much now at the moment just because I essentially have Sphinx dictated on me for other reasons. But I certainly miss using it as much as I used to. And sort of related to that, MKDOTS has recently been reaching 1.0 milestone. So somebody called Waylon, I actually don't know his surname which is I'm ashamed to say. But he has been driving the project forward lately. He's also the maintainer of Python Markdown. So even if you don't use MKDOTS, there's a good chance you've used Python Markdown. Because I think I'm pretty sure that's the most popular Markdown Python library. Anyway, if you're interested at all in MKDOTS, it's worth checking out because there's a lot of changes that are coming with it very soon. It's on a release candidate for the 1.0. So testing feedback is very welcome. After Berlin we then moved to Bilbao. Bilbao is a nice city actually. I was a bit surprised by it. I didn't really know what to expect. I had been when I was younger, but I was much younger. I didn't really remember it. But there was a lot of nice places to visit there. It was more spread out I think. And I think after Berlin a lot of us were still longing for Florence and we maybe still are. But that's a different one. Greedo then came again in 2015. So this is when I met him and I actually started to realise he was more just a human being and not the Superman that I'd originally imagined. Which I don't mean to belittle anything he's done because obviously it's great, but he is just a man. And I did speak to him again then so that time I felt slightly less embarrassed about fumbling in front of him. But there we are. But during this time I got more involved in the Euro-Python organisation. So this is when I joined the programme workgroup. Which means I was basically voting on talks and helping shape the conference schedule. And if you've ever been to Euro-Python, you've been to a conference and you've looked at the schedule and you've been like, ah this talk shouldn't have been accepted or this talk should have been accepted or maybe they should be moved around here, then you should really help out in the programme workgroup. Because that's essentially the things that we're looking to find out. The more eyes we have in this, the more we can improve it and so on. It's a really difficult task because you have, I don't know, four or five hundred proposals and you're trying to figure out which are the best ones without having heard any of the speakers speak before in a lot of cases. But the other thing that happened to me during Bilbaugh is when I guess I got a bit burned out with MKDocs, I stepped back from the project. And that was actually a fine thing for me to do. I just wish with the hindsight I'd handled a bit better. I kind of went radio silent because I just, I think I just rage quit one day essentially and I was like, I'm not dealing with any of those bugs. So I think I essentially allowed myself to get to a point of burnout when really it's good to try and identify these things and step back or get more support earlier on. It's always very hard to identify these things though, isn't it? I would say that the one problem I have is I don't like leaving something unfinished but when is software ever finished? So you keep trying to get there but you just, it's like chasing your tail or something of your dog. After Bilbaugh, we then went to Romania and this is, this was I think the strangest of all the European venues. It's kind of a touristy city. Somebody who's mostly Italian, depending on his mood, he calls himself Italian or not. But he told me that Romania is not really Italy. And that's, I don't know, it's interesting. I think he's got such a touristy place it doesn't really feel like most of other places in Italy. But during the Romania conference last year, I got more involved in the program work group and it allowed me to learn more about the process and how things work. So I mentioned that we are responsible for selecting the schedule and crafting it. But some of you might be thinking about what's the community talk voting for isn't that doing that job? Well actually what happens is anyone that buys an early bird ticket or submits a talk is able to vote on all the other talks. And based on the result of that, we use that information to guide our selection process for talks. And the reason it needs lots of hand crafting afterwards is that you'll find if there's a buzzword topic in one year that you look at the top 10 talks and maybe five of them will be on that topic. So I think this year there were a lot of data science, deep learning talks that were in the top 10. So we didn't want to select all of them because you need to have a good diversity in both speakers and topic contents. But it does raise the question of is talk voting a good thing. And I'm definitely a bit conflicted about this personally. We've had some problems with it in the past. So for example one year there was a talk with just something about programming in Go and it had no mention of Python and Go was like hot and new that year so everyone was like oh yeah that's for the go talk. But I don't think anyone had opened it because from memory there was no even abstract for the talk. It was just an empty talk. It was like literally five words. People were like yep I'm going to go to that go talk. And we had to sort that out later. It's one of those things that then got missed until quite far down the line just because there's so much going on. So I think we just need to, we can keep using this process but we need to make sure that we're doing a sufficient amount of hand crafting and curating of the process afterwards because you can't rely on the quality of the reviews because you don't know how long someone is spending reviewing. Are they just going in, reading only the titles and nothing else or not? It's really difficult to have that information. But I think otherwise generally it's really rewarding to be involved in the programme work group and trying to help out. It helps me feel like I can improve your python and since I then attend your python it's kind of a win-win for myself. I wouldn't say it's necessarily the easiest thing to contribute to because there's, the conference still relies heavily on a core group of people doing the vast majority of the work. But then the, if you're somebody like myself who wants to help but I don't have the time to throw my life at the conference it's hard to be on the edges and understanding what's going on. So sometimes you just feel like you don't know enough to help but you want to help and I don't really know how we solve that problem but I think it's kind of an interesting one to be addressed. Some central place for all the relevant knowledge would be possibly an idea. Ben all wiki. So for me really I think attending your python was just the start of my introduction to the community. When I first came to your python I was like hey I've made it I'm a python person, I'm at your python. But really there's so much more that you can do beyond just coming to your python in terms of running your own user group or just attending one if you have one locally. Submitting your own talks and trainings or there's help desks. You can do a lightning talk, it's a great way to get started. There's the posters. Sorry there's like a fly. That will not come up in the video and I'll just be like this. Yeah and obviously it's really rewarding to also contribute to open source like my involvement with MKDocs as I said but it's also more important to look after yourself so don't do it at the expense of burnout. You can be a bit battle-scarred by that. But what I really feel is that the community is what you make it or what you get out of the python community is like a multiple of what you put into it. If you just attend you're going to have a great time and you're going to be really involved and enjoy it but if you start doing more in the community you're then going to find that that's sort of multiplied back at you. And there's a quote which is probably over quoted by this point that sort of they come for the language and stay for the community by Brett Kennan. I think it was on a t-shirt for Pycon or I mean it really resonates with me basically. It's if it wasn't for the python community I would have probably moved on by now out of thought. And I basically owe much of my career and many of my friends I've met through your python or through the python community whether it's been at the conference or more locally with the user groups. And that then brings us to Edinburgh this year. And as I said before it's quite interesting so we have actually gone back to the old structure we had in Birmingham. Maybe that's a UK structure, I don't know. But everything that's of old is new again and it's probably a bit too early for me to do some kind of retrospective thinking about this year's conference. But I do start to wonder about how will this conference be remembered. So the 2009 one I said was the first one with python 3 maybe this will be the last one with python 2 hopefully. Or maybe this will be the last year of python when Scotland was in the EU and that will make me sad. I mean obviously the whole of the UK but Scotland in particular. Or maybe this will just be the year of python when I was six month old. It doesn't let me sleep at all and that's why I'm extremely tired. So yeah that's how I got here I ended up standing and speaking to you all as that's the journey I've had and having a kid is tiring. But just to finish something completely different if there's anyone that's running there's a run happening at the end today John Silverland who's down at the front here is organising it I guess do you feel like you're organising it? And you're meeting at the front of the conference centre after the lightning talks I believe. So if anyone's interested in running and you have your running stuff go to Arthur Seat and I'm going to try and have enough energy for it. Otherwise if you're interested in OpenStack until I'm doing an OpenStack help desk tomorrow so you can speak to me about that. But yeah that's everything so thank you very much. I don't really plan on taking questions I'm happy to but it doesn't really feel like it makes sense for this talk to be honest. So just come and speak to me. Yeah that's probably better. Alright thanks.