Date Sun 13 April 2014 Tags python

This year was my first time attending PyCon US, actually held in Montreal. It's a huge conference, two days of tutorials, three of talks with five parallel tracks, and sprints afterwards. The low acceptance rate (15-20%?) for proposals meant that overall the talks were really solid.

Stand out talks

I'm still working my way through some of the talks I missed, but of those I made I had three favourites:

Analysing Rap Lyrics in Python / Julie Lavoie

As someone who loves rap, but not always the attitudes towards women prevalent in it, Julie was trying to use some simple text processing to ask: which rappers have the best and worst attitudes towards women? The problem turns out to be hard, but along the way she explains the birth of several modern hip hop genres and rap feuds. A seriously fun talk!

Talk: http://pyvideo.org/video/2658/analyzing-rap-lyrics-with-python

Software Carpentry: Lessons Learned / Greg Wilson

This was my first exposure to the Software Carpentry project, which provides researchers with the software tools and skills they need to be effective in their work. Greg's a great speaker, attacking an important problem with passion and intellect. Watch the talk, get involved.

Talk: http://pyvideo.org/video/2649/software-carpentry-lessons-learned

Hitchhikers Guide to Participating in Open Source / Elena Williams

This was one of those talks where the enthusiasm shone through, leaving you feeling great about open source and the future. Elena talked about finding and contributing to a project, about giving and receiving feedback, and on both sides about being humble in what we do.

Talk: http://pyvideo.org/video/2646/hitchhikers-guide-to-participating-in-open-source

Pythonistas converging

Whilst there's a ton of cool tech being developed, it really feels like the community has matured in a range of areas. This is the sense that people are converging to fewer tools, and trying to use those tools in more advanced and productive ways.

Django and Flask for the web

There were seven talks on working with Django, three on working with Flask and a notable absence of other strong contenders like Pyramid. Django's clearly the dominant web framework for Python, but more interesting is the narrowing of microframework talks. Whether or not this reflects current use, it will affect future use.

Expect much of the same energy that went into advancing all these microframeworks to be channeled instead into building out extensions and use cases for Flask.

Scikit-learn for Machine Learning

Everything I attended used scikit-learn to train and evaluate learning algorithms. It's the clear leader and unambiguous choice for Machine Learning in Python's ecosystem.

For a full introduction, I recommend the two 3h tutorials given back-to-back by Jake Vanderplas and Olivier Grisel:

The overall message is that machine learning is now accessible enough for people from a wide variety of backgrounds to experiment with it. If SciPy and PyData conferences are the venue for more expert material, PyCon serves a kind of gateway drug for getting people started.

IPython for data analysis

IPython also had its day in the sun, being used for nearly all of the data talks as the way to interactively demo code and analysis. The project is going from strength to strength, having just made a 2.0 release before PyCon providing interactive widgets, amongst other long-awaited features. It's being used for talks, to power blogs, and as a way to support open science.

Fernando Perez ran a full tutorial on IPython as well as giving a keynote. This is one of the most interesting projects happening in any programming language right now, and it's not limiting itself to Python: kernels and cell magic are there for R and Julia as well as Ruby, Bash and a growing number of other languages.

Diversity

This year marked a huge upswing in gender diversity at PyCon, with roughly 1/3 of speakers and 1/3 of attendees being women. This is higher than the overall industry gender ratio, suggesting that the organisers and community have succeeded in making PyCon a safe and welcoming space for speakers regardless of gender. It also speaks to amazing outreach efforts:

In recent times, much has been made of diversity issues in computing being rooted in high-school education and attitudes. Jessica McKellar's keynote hit this head on, talking about the difficulties of high-school AP classes in programming in the US, the diversity issues there now, and the problems high-school teachers face trying to teach this material.

Python 3

With Python 3.4 just released, and Guido's keynote explicitly reconfirming that there would be no 2.8 release, the migration is on. There was some realism in there too: people with large codebases in the 100,000s of lines and poor test coverage are realistically unlikely to ever migrate from Python 2.7. Everyone else should be in the process of migrating, and should be using 3.4 for new projects.

Of Python's two main communities, the scientific world and the web world, the web world is migrating more slowly. Presumably that's because it deals more with text and network protocols, and these have needed more adaption to Python 3's unicode changes. A handful of these projects are now roadblocks for people porting their code: it's amazing how few major projects are left unported now.

Overall

The quality and coverage of the talks was really excellent, it was well worth attending even factoring in the travel from Australia. I can't wait to see what cool stuff the community puts together in the year to come.