Between the friendly volunteer staff, great lunches, infinite coffee, and diverse array of talks and tutorials, the 2016 PyCon Canada in Toronto was a great way to spend the weekend. I wrote this blog post in order to share parts of the conference that I enjoyed most. The presentation videos should be uploaded in a month or two and I’ll add them then. For now I’ll only be able to link to slides and / or repositories.
The talk I enjoyed most was titled “When the abyss gazes back: staring down Python’s surprising internals” by David Wolever.
Update: The videos have been uploaded to the official YouTube channel.
It turns out that in Python, ‘x’ == ‘x’ runs slower than ‘x’ in (‘x’,). David investigates this by looking at the output of dis.disassemble and digging into the CPython source code. Eventually he reveals his finding, that “the tuple membership test checks identity” before doing the == comparison. So when we do ‘x’ in (‘x’,) the first computation is: ‘x’ is ‘x’ which returns True slightly faster than ‘x’ == ‘x’ would.
I went to three tutorials and enjoyed Mike Sukmanowsky’s “From gigabytes to petabytes and beyond with PySpark” the most.
pyconca-2016-spark-tutorial — Materials for Mike’s PyCon Canada 2016 PySpark Tutorial
You could tell that Mike put a lot of effort into making this a great introduction to Spark / PySpark and a comprehensive beginner reference from a code perspective — complete with foolproof setup instructions for the dependencies. Most of the magic is in his zeppelin notebook file (zeppelin_notebook.json). When the day comes that I need to extend my data analysis to the cloud, I know exactly where I’ll go first.
Tokyo 2020. This was one of the lightning talks, which means that its description is not posted online and it was really short. It’s impossible for me to convey the strangeness in words, I just hope the video surfaces along with the other talks so I can show you. The sole purpose was to announce that Python was the official language of the Tokyo 2020 Olympics. Amidst scattered laughter, the announcement slide was met with a great cheer from the audience. This lasted only briefly before turning to jesting boos when we heard that it will be Python 2 and not 3.
Update: A video of the talk. Turns out it was called “Tooling Big Events: A case study”. It’s the 2nd lightning talk in the video.
Other Awesome Things
I really like the idea of having rooms available for semi-impromptu meet-ups. This resulted in concurrent emacs and vim gatherings (where each group probably just ended up discussing their superiority) with the die-hard notebook users relegated to the hallway.
Lastly, I have to mention Paul Mullins “Building a HackASac” talk.
Building a HackASac with Paul Mullins at PyCon Canada 2016
Paul’s been wheeling a large toolbox around the conference. Come find out what’s inside.
Paul reached out to us (software people) with his ideas for bringing hardware to hackathons. He indeed revealed his hackasac, which included a remote control car, wifi and bluetooth interfacing devices, Kinect 3D sensing camera, soldering iron, and a whole bunch of other stuff I forgot about. Paul explained how he can set up a webpage that would allow anyone to control his toy car (because who wouldn’t want that!!??). Another cool takeaway was that Python can interpret (via some library like this one) the signal from a 3D Kinect camera as a numpy array. The talk was hilarious and super cool and, despite getting cut off, Paul made sure to thrown on a clip from Monty Python to wrap up.
That’s it for my 2016 PyCon experience. But I wanted to add that with three talks happening at any given time (not to mention overlapping tutorials) there was a lot that I missed. Please share your experiences with me at @agalea91 on twitter, and I would happy to include links to your blog posts on this page.