PyCon tutorials, day one

17:00: This afternoon’s tutorial was an introduction to statistical modeling.

We started off badly when the instructor sent us the preparatory instructions about two hours before the start. It included downloading and installing Anaconda, which is a mother of a download and a mother of an install. The available time was actually less than two hours because it included our lunch “hour.” And our wi-fi has been unreliable and slow for most of the day.

Getting past that, this was a very good survey of statistical methods, and using pandas and pymc to do modeling. The instructor was one of the authors (I think the primary author) of pymc. Smart dude, lots of insightful asides.

The first hour was fine, the second hour I hung on, and in the beginning of the third hour my head exploded.


The missus called during a break and announced that our existing master bath toilet was leaking and a new one costing $$$ was being installed as we spoke. Glad I don’t have to deal with that.

Time for dinner.

11:39: This morning’s tutorial was on the OpenAPI specification, née Swagger.

I wasn’t satisfied with this one. Much of it was a series of, “Look at X. Now make the changes in your file that are like X,” exercises. At times it was almost pattern-matching in nature. I wish it had spent more time delving under the covers.

However, I extracted some useful nuggets of information.

In previous jobs, my teams have used Django Rest Framework for the API implementation and django-rest-swagger to generate live documentation. Time-consuming, “now you have two problems,” issues were always encountered.

Django Rest Framework is a framework in and of itself, and so it’s a framework wrapping another framework. Add in django-rest-swagger and you almost have three frameworks, each one having multiple points of impedance mismatch to another. (This is understandable. It’s amazing it all works as well as it does.) Keeping this technical fur ball happy took time, and the end result was problematic. In at least two instances, my team chose to lower the API’s quality in order to keep using DRF. One pain point was nested parameters; they (particularly modifiable ones) were extraordinarily painful.

So, back to the tutorial.

Coffee Meets Bagel’s backend API isn’t public, but it is a contract with its client teams. The documentation is ad hoc and has had to grow organically over time. Using OpenAPI could be a big improvement. The online structured editor doesn’t generate Django scaffolding, but using it anyway to generate consistent live documentation pages could be a big win.

I hope I’ll have an opportunity to experiment with this after the conference is over.

In other news, how do you demonstrate your alpha-dog status in a conference where everyone has a laptop? You bring two laptops. Like a boss.


07:06: A live post of today’s activities. Well not really a live post. This’ll be an almost-live post.

Nearly-live. Delayed.

Must get breakfast. Must. Feed.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.