It’s now been several weeks since I returned from my first SciPy, and I realized I
had yet to actually write about it on my own blog. Well, late is better than
never. If nothing else, the time delay has allowed the dust to settle for a
more coherent post. :)

Short version: SciPy was perhaps the most fun I’ve had at a conference.

Why? Several reasons. First, the audience is very diverse: most are working in
science but many others are working in tech and software development. This is
in contrast to many of the conferences I’ve attended which are primarily
scientists working in my field, very few of which spend much of their time
developing and maintaining software.

Second, the conference itself is different than most in terms of its basic
structure, composed of:

2 days of tutorials

3 days of main conference

2 days of sprints

Since this was my first time attending, I decided to get the full SciPy
experience and attend the whole week. I’m glad I did.

The two tutorials I most enjoyed were those on machine learning with
scikit-learn and using bokeh to create interactive plots. Although I had
played briefly with both packages before, these sessions offered a more
thorough view to what can be done with them, and most importantly, how.
In particular, for scikit-learn I was struck at how well thought-out
its built-in parameter sweeps and cross-validation machinery was, and it’s given me
ideas for how to build similar robustness machinery for other packages, e.g.
mesa. I’m not entirely sure yet where I might make use of bokeh, since
ultimately plots I produce need to be exported to a printable form. However,
for publishing data visualizations to the web it’s a great option.

The conference itself sported three simultaneous tracks of talks, a poster
session, and daily lightning talks. A few of my favorites:

Since it’s impossible to attend everything, I’m extremely thankful all of these talks
can be viewed directly on YouTube. Check out the full playlist for plenty more.

The last two days featured sprints. For the uninitiated: these are long blocks of time
during which you can work on issues in a codebase collaboratively and in-person
with others. At SciPy, however, mostly these are just a great way to get
involved in new projects and work alongside some of the core developers. I’m
particularly interested in machine learning applications to simulation work, so
I split my time between working on scikit-learn and mesa. Although I only
ended up submitting a couple PRs to scikit-learn over the course of the
weekend, I got a good sense of the structure of the packages and had memorable
discussions with the developers. The only problem now is figuring out where
I’m going to devote my (rather limited) time outside of graduate school to open
source projects that aren’t mdanalysis related. The upside is there are
really no bad choices.

Besides all the new tools and technical developments SciPy made me aware of, what I
value most from the conference are the people that I met and the connections I
made with them. The scientific Python community includes some of the most
intelligent and passionate people I’ve ever met. It was a pleasure to spend a
week with a few of them.