Skip to content

Instantly share code, notes, and snippets.

@rduplain
Last active December 20, 2015 14:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rduplain/6148005 to your computer and use it in GitHub Desktop.
Save rduplain/6148005 to your computer and use it in GitHub Desktop.
My notes from PyOhio 2013

PyOhio 2013 Digest

My notes from PyOhio. --rduplain

Overall Themes

  • People are becoming casual when talking about Python 3. I think that we can start writing all projects in Python 3 going forward.
  • Presentation slides in reveal.js.
  • "I've been writing a lot of JavaScript lately."
  • Regional conferences in high demand. Calling for more regional Python conferences. ~60% of submitted talks were rejected due to space constraints.
  • Free thanks to strong sponsorship; volunteer run.

Observations

  • I had a hard time counting the number of attendees, since tutorials were concurrent with talks. O(100), with my guess being ~150 total. (The actual count was 302.)
  • Most talks were friendly to beginners and included at least a few topics for experienced developers.
  • Open spaces were hardly used, with the exception being the Center for Open Science's Science, Python, and You which was printed in the conference program and attracted ~25 people by my count.
  • Hallway discussions were a key feature of the conference, with a long lunch break (no lunch provided) and a later start on Sunday (due to venue open hours, as I understand it).
  • Lightning talks were well-run. They started at the end of the day and went until there were no more speakers. Advance signup, not ad-hoc.
  • Impressive A/V crew for a regional conference.
  • Free "Young Coders" class taught by Katie Cunningham using Raspberry Pi.

My Talks

I gave two lightning talks, preparing both of the talks during the course of the conference.

Interactive Debugging in any Python Web Project

Lazy Pandas

  • I find it too easy to consume 2GB of system memory from a 40MB file on disk when processing data in pandas, because my middleware wants to construct a list of all records in memory and pandas 0.12 does not have a lazy constructor. I gave a demo of my experiment to create a file-like CSV result using SQLAlchemy's SQL expression language.
  • https://github.com/rduplain/expression_file
  • http://slid.es/rduplain/lazy-pandas

FriendCode

I had some really great hallway discussions with Aaron O'Mullan of FriendCode. He flew across the Atlantic to attend PyOhio and didn't regret it. He is prolific in his programming and publishes much of his work to public GitHub repositories. This is particularly interesting for us at Private Practice, Inc. since Aaron is applying a service-oriented architecture with a lot of Python, node.js, in-browser implementations, and redis; and is arriving at some similar conclusions and designs as we are in a multi-runtime environment. His published code is worth a read.

He gave a talk on his gittle project, which was a great talk for git internals and working with git internals from Python, with a little API design discussion.

Much of my conversation with Aaron was captured pretty well in the code he has published, with two pointers to modern RPC projects:

Selected Talks

The whole schedule is worth scanning. The talks I most focused on while attending:

Introduction to SQLAlchemy and Alembic Migrations - Jason Myers - Solid perspective on SQLAlchemy; good to see Alembic in the wild.

Better Mapping with Shapely - Alison Alvarez - I particularly enjoyed the perspective on the value of data visualization with maps.

Atypes, Btypes and Ctypes - Ben Timby - Great technical walk-through of Python's builtin ctypes package for introducing C types in your Python code.

  • swig is still relevant apparently, for targeting multiple languages in the wrapper
  • Cython is faster, but requires compilation
  • ctypes is FFI, need to be careful in overhead on each call to a C-function
  • "The symptom? segfault."
  • code listings are nice examples with rsync on GitHub
  • for high performance needs, recommend writing own C-wrapper in Python C API

Saturday Morning BreakfastSerial: Hacking Arduinos in Python - Swift - Great demos in getting started quickly with Arduino over serial; solid perspective on hardware hacking.

  • Hacker League - platform for hackathons
  • building your own modded arduino is cheap
  • firmata and pyFirmata
  • https://github.com/theycallmeswift/BreakfastSerial
  • frustrated with lack of async in Python (and not for web servers), which comes for free in JavaScript
  • I asked if that applies to Twisted; he wants a dead-simple lowest-common-denominator event loop and says Python 3's PEP has the right idea (I think he is referring to http://www.python.org/dev/peps/pep-3156/).
  • call for contributions to build Component classes for Arduino devices
  • Swift registered arduino.io and plans to set up community there.

The IPython Notebook Revolution - Catherine Devlin - Great exposition on how ipython notebook is becoming more relevant, with some demos on how people are using it in interesting ways. Catherine built her slides in reveal.js from an ipython notebook using nbconvert which merged into the upcoming ipython 1.0 release.

Selected Mentions from Lightning Talks

  • PALM - protobufs are lightweight messages
  • imaginefreedom.org and hacktivism
  • MyHDL - Python package for hardware description language.
  • The Woven photo service has a really nice looking ops dashboard, though I cannot find any source code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment