PyCon UK is an annual gathering of Python developers and enthusiasts which this year took place in Cardiff for the second time in a row. But that description makes it sound dull! PyCon has a fantastic atmosphere that I've not seen replicated at any other (admittedly few) tech conferences I've been to, and this time, my second, I took the full five-day experience.
Arrival
I arrived on Wednesday evening, having taken a couple of days out in the Brecon Beacons beforehand to charge my batteries. Having only to come from (roughly) Merthyr Tydfil during the day rather than from London after work on Friday like I tried last year (I spent most of the weekend there in a daze, after catastrophic signal failures at Paddington lead to me arriving in Cardiff after midnight) turned out to work really well, as I was nice and fresh the next morning.
The introduction on Thursday confirmed that PyCon was still setting the gold standard for inclusivity, and also introduced the new format for lightning talks -- a series of five-minute-only slots with no set theme that take place at the end of the day -- to ensure that new speakers had as much of a chance of having a go as people more familiar with doing so. At this point it popped into my mind that I could do a talk on how I found doing NanoGenMo in 2015 so I decided to stick my index card in the New Speakers bucket. If it weren't for the chance that I wouldn't have to stand up in front of strangers and talk about something they might not even be interested in, I don't think I've have done it!
As it happens, the New Speakers bucket gave me a 100% chance of being picked! My talk went pretty well, I got a chuckle at the joke I put in, and I was within time (despite forgetting to set my phone's timer). Unfortunately the projector had a higher resolution than my Chromebook's screen, so the text ended up a little small. But not bad for a presentation crafted using browser tabs created over the course of lunch and a coffee break. There's a video of it here: Youtube, or here's a photo of me looking nervous beforehand:
Evenings
In the evening on Thursday PyCon hosted a code dojo, which I signed up for, having not been to one before. The idea was that everyone would split into small mixed-ability groups and solve a challenge; at this one the challenge was to write a bot for Robot Game, which was a great task to pick because, firstly, it was easy enough to get into it quickly, and, secondly, it meant we could have a robot fighting tournament at the end!
There were more professional/experienced developers than newbies and intermediate devs, so I was on a team of two with another professional developer, Daniel, while most other teams were teams of three, one each of experienced, intermediate, and beginner. Watching the tournament afterwards was unexpectedly exciting! One team managed to hack the game to force a tie and trigger the tie-break condition of shortest code; their hack was a one-liner. Smart, but the audience voted them out for it. Embarrassingly, Daniel's and my team then won the tournament in a very close final. Here's the code for the curious; essentially we pick an enemy bot and then swarm it.
On Friday, during the lunch break, my talk and the dojo had given me something to chat about, and I ended up talking to katzenfabrik, who was the Keynote speaker on Thursday. They were interested in my NaNoGenMo code, though, actually, I don't think I actually ended up showing them it! Rae, it is here. Throughout the rest of the day I also met sgsabbage (hello!), Samathy, David and Alex (also hello via twitter possibly!), and the six of us went out for dinner in the evening to a really nice vegetarian restaurant that I can't remember the name of or find on Google (Edit: it was Milgi, thanks Samathy!).
On Saturday night PyCon hosted two things: a tabletop games evening, and a Python Bee which, judging from the laughter on that side of the room, was quite entertaining. I did the tabletop games (of course!), playing Citadels, eating pizza, and playing Gloom. Citadels I've played before (the Dutch have a better name for it: Machiavelli) and was good fun; Gloom is more of a storytelling framework than a game, but also very enjoyable if that's what you're after.
It was a really enjoyable evening. I'm not sure if this was a coincidence, but this was the same night as the boxing match that caused Cardiff's hotel situation to be considerably trickier than usual. The fact that nobody had to leave the building until all those people were tucked safely away in the stadium at 22:00ish (we Pythonistas can be quite scary, after all!) was extremely appreciated.
Sunday was the last day of the conference proper, and in the evening I went to Wagamamas with Sean to catch up. He has similar opinions about Disney's Star Wars to me (if I recall correctly). Hurrah!
Departure
Monday, and the main reason I'd lugged my Chromebook around the Brecon Beacons with me last week: coding sprints. I'd not been to these before and I wasn't sure what to expect; I'd mentally prepared for a pick-a-bug, fix-a-bug free-for-all. The first group I joined were brainstorming ideas for projects, which I unfortunately didn't have the energy for, so my apologies to them for disappearing. Instead I ended up doing some work for Adventurelib, attempting to wire up a Python to Javascript converter to run Interactive Fiction games created with it in a browser rather than on the command line. I nearly got it working but the converter was just a little too limited for some of the things needed. But it was fun to do something completely different to what I get up to at work.
Helping with packing some things into cars at the end of the day was quite a cathartic way to end the long weekend, before heading to Cardiff Central Station and waiting on the programmer-friendly Platform 0 for my train home.
* Unsafe at Any Speed * Docs or it didn't happen! * Functional Python * Lessons from combining micro:bits raspberry pis * Building Quart from Flask and Asyncio * Making all the boring things go away * On Big Computation and Python * Shaping the World * Using privilege to improve inclusion * Fun With Serverless Applications * Software's Seven Deadly Wastes * When free is too expensive * What I learned building Forth in 64-bit Intel assembly * Panel Discussion - Python in Education * It's not the coding curriculum! * How close can I get Amazon’s Alexa to Black Mirror’s Cookie * Panel Discussion - The Ethics and Politics of Programming * Code With Mu * The Code of Conduct is here for you * Communities and education: exploring together * Tales of C, the 6502 and the BBC (with added python) * Panel Discussion - Developer Career Progression * Polygons, hill climbing, metallurgy and why you are here * The Modular Mission Planner * What Python Can Teach us about Beer * Trapped By The Trappings
Crikey.
Thanks again so much to the organisers for putting on a fantastic programme, and to all the speakers!