Friday, February 3, 2012

February 2012 Pyowa Meeting

Tonight the Iowa Python User Group met at The IMT Group in West Des Moines from 6 until 8 pm CST. This month's meeting was a little bit different than what we have typically seen in past Pyowa get togethers. Rather than having a local guest speaker, Mike Driscoll, the founder of Pyowa, was able to get Steve Holden and Doug Hellmann to agree to join our group via Skype. I was extremely excited about this. Steve and Doug are both respected members of the Python community, great speakers and authors.

Before we got started, Doug sent me a message saying that he wanted to be able to see what Steve had to say. This presented a bit of a problem for me, not being a regular Skype user, I wasn't sure how to make this happen. After a few minutes of messing with things we decided to abandon Skype and use Google+ Hangout, which seemed to get the job done.

Steve Holden started off without any prepared material, but led some very good discussions about the Python community and the evolution and future of the Python language. He started out by mentioning that PyCon 2012 in Santa Clara, CA was sold out for the first time in PyCon history. He went on to mention 3 Python and 3 Django conferences that he was in the process of planning that will be much smaller, more intimate, single track conferences (capped at 300 attendees, I believe he said).

There was also some discussion around spreading the word about Python, which based on the news about PyCon 2012, it sounds like the word is getting out. I'm glad that I got my PyCon ticket when I did! A question was asked about finding good training resources for developers new to the Python language. Steve mentioned ShowMeDo.com as well as PythonAnywhere.com as good online teaching resources and Steve and Doug both mentioned Mark Lutz's Learning Python book. The Learning Python book is where I learned a majority of what I know about the core Python language.

Having Steve Holden attend the Pyowa user group was awesome. I couldn't have been happier with how it went. It was an honor and my pleasure to have him attend our meeting. Steve had another engagement at 7pm CST, so he had to leave and miss Doug's talk about Sphinx.

Doug Hellmann had a talk prepared for PyCon 2012 called Better Documentation Through Automation: Creating Sphinx Extensions which he said that since he is not going to be able to attend PyCon this year would be a Pyowa exclusive talk. Sphinx is something that I have personally just started to scratch the surface in with a few small open source projects for documentation. Doug's Sphinx talk was really great, I was hoping to attend it at PyCon this year, and since Doug won't be able to make it I'm glad I was able to see it anyway.

I probably will not do Doug's presentation justice in this very short recap, but I'll do my best. Doug is very knowledgeable, was very well prepared and his delivery was interesting and fun to listen to. He started out by describing reStructuredText as "not a markup language" and "not layout like HTML" but rather a programming language for building documents. He compared "sphinx-build" to "gcc" in that "sphinx-build" takes an ".rst" file and builds it into an ".html" file similar to how "gcc" takes a ".c" file and builds it into "a.out".

Doug began with a simple example of how a custom role can make your documentation source more DRY. In his example he built a custom role that he was able to use in his documentation to create a hyperlink to ticket numbers in his BitBucket.org ticketing system. This made the documentation much cleaner and removed the room for error where a ticket number has the potential to link to the wrong place.

Doug's next example was a custom directive which would allow sql to be embedded in your document and when the documentation is built, the sql would be replaced with a table of the results of executing the sql. This really opened my eyes to the extensibility of Sphinx and made me realize how much it has the potential to do beyond just generating html from reStructuredText.

Finally, Doug showed an example from sphinx-contrib in sphinx-contrib-spelling where there is a custom sphinx builder that, instead of just rendering html output, it actually creates a file that contains misspelled words, that words' file and line number, as well as suggested spelling corrections. Pretty amazing and impressive stuff! I was extremely happy to have a speaker of Doug Hellmann's caliber present for the Pyowa user group.

One negative thing about our remote presenter set up was, during Doug's presentation, he had quite a few slides in his deck that were code examples, and the picture quality of Google+ hangout is not ideal for reading code. Maybe using Google+ Hangouts (with extras) would be better with the Google document sharing feature. Besides that, we did have one hick-up where we were temporarily kicked out of our hangout, but we recovered fairly quickly and easily.

One thing is for sure, I thoroughly enjoyed Doug Hellmann's presentation and the discussions with Steve Holden. I think this type of meeting, with a remote presenter, is really going to work well for the Pyowa user group. This meeting in particular had 10 total attendees (in person), which is fairly average, 4 of which were new faces, which was really great. I am definitely going to look for future opportunities to bring in outside presenters to speak at Pyowa meetings.

I think this first trial run of remote presenters was an absolute success and I want to send out a huge "Thank You" to Mike Driscoll for getting Steve Holden and Doug Hellmann to agree to talk to us, another huge "Thank You" to Steve Holden and Doug Hellmann for agreeing to talk with us and giving us a few hours of their time, and one final huge "Thank You" for the Pyowa attendees who were able to make it to the meeting tonight.