Today was half keynote addresses, jobs fair, and the poster session. And half talks.
Beyond Grep: Practical Logging and Metrics. Sentry, Librato, Graphite, Grafana, StatsD, Riemann, Splunk, Loggly, Papertrail, Elk, Graylog…
Python Performance Profiling: The Guts and Glory. This talk dissected a real-world performance event from MongoDB engineering.
Performance by the Numbers: Analyzing the performance of web applications. I wished this had more specifics and been less of a survey.
Guido updated us on the status of the gradual type checking hints being added, provisionally, to Python 3.5.
And PyCon has ended, and I’m spent! I head home tomorrow.
I had a double espresso after dinner last night. At 3 am this morning, I tallied that as an unwise choice.
Another great day of talks.
How to Write Reusable Code. Best advice of the day, “Functions should return a result or have a side-effect, but not both.” I never heard it suggested before, or thought of it myself. A great guideline for increasing code’s maintainability and testability!
Update: TIL this is called Command-query separation.
Ansible Beyond YAML. This was interesting, but beyond my needs now.
Technical Debt: The code monster in Everyone’s Closet. Great talk by @nnja about the smells and gunk that happen in real-world projects, and suggestions for dealing with them.
Achieving Continuous Delivery: An Automation Story. Good talk by Ansible’s Director of Core Engineering. Use Ansible from day one, try to never ssh manually into servers, etc. All common-sense practices, but with an “Ansible slant.”
Create your own WSGI Deployment Adventure. Great talk about WSGI connections. Funny web page and video that went along with it!
Lessons Learned with Asyncio. I’m still not working in Python 3, and listening to this walk-through of using the new asyncio package just makes me more restless. (At work we have to support Python 2.6!)
A big win today was using redis, python-rq and/or django-rq, and RQ Scheduler as a Celery alternative. If I were starting a new project or reconsidering Celery in existing code, I’d give this combination a shake-down right quick. Joe Bob says check it out.
Oh brother, did I drink from the firehose today! Lots of learning, even in “novice” sessions!
How to be more Effective with Functions. Do you know the
if iter(x) is iter(x)
What can Programmers learn from Pilots? Much, as it turns out.
Beyond PEP 8 — Best Practices for beautiful intelligent code.
How to Make your Python code 2/3 Compatible. I like to attend a migration talk annually, to learn how the migration hot spots and recommendations have changed.
Advanced Git. Rebase, reset, cherry-pick, oh my!
Concurrency from the Ground up. David Beazley explodes heads for diabolical fun.
Is your REST API RESTful?
We both live in Seattle, about 1.5 miles apart. We only see each other once a year, at PyCon. This is odd.
This morning was Ansible 101. Great tutorial. This did what good tutorials should do: Efficiently explain the semantic terrain and explain the most important parts.
This afternoon was an introduction to Elasticsearch. Solinea uses it, and like so technologies, I’ve jumped into it when duty called, but never took the time (slash had the opportunity…) to understand it holistically. And with Elasticsearch, there’s a lot to understand! Great session! So much more makes sense now.
Tonight is the Opening Reception in the expo hall. Followed by dinner and maybe drinks somewhere. Both will be late-binding decisions.
This morning was Intro to Docker. I’ve wanted to try Docker, but didn’t have the latitude and bandwidth for that at my previous employer, and wasn’t sufficiently compelled to spend my personal time on it. This tutorial took us from ground zero up through coordinating and publishing multiple containers with docker-compose and docker-machine. This was a great tutorial, and I now grok much more about Docker, both good and (for the time being) not-so-good.
This afternoon was a DevOps tutorial that promised to compare SaltStack, Ansible, and Fabric. Unfortunately it did none of that. Fully 1.3 hours into the session, the presenter was still futzing around with the network and his laptop settings. A complete disaster and waste of time. I bugged out and sat in on the 3D graphics with Blender and Python Epiphanies tutorials, then bugged out of those and chatted with other attendees in the common areas.
Tonight I’m up for dinner out if I can connect with some folks. Otherwise, I’ll hunt for a restaurant on my own.
So today was a hit and a miss, with a salvage.