PyCon


The venerated TiP BoF (Testing in Python “Birds of a Feather”) meeting was held Saturday (3/12/2011) night around 7 p.m. Disney provided free pizza and salads. Someone else (I think) provided some pop. The room was packed with standing room only in the back. While people were eating, Terry Peppers of Leapfrog led the meeting. He told us how the TiP BoF worked and then had one of his employees show us how to do weird hand/arm stretches. If I remember correctly, his name was Feihung Hsu.

After that, the testing-related lightning talks started. The lightning talks are really the main draw of this event, although in years past the alcohol induced many to come. This year, the hotel cracked down on that and there was hardly any liquor to be seen, which was alright by me. I only stayed for two hours, so I’ll just give a run-down of what I saw and heard:

  • There were lots of masturbation and other crude jokes even before we ate anything and they continued through most of the time I was there
  • Peppers started the talks off with one called Snakes on a domain which was about a nagios plugin called NagAconda
  • Next, Disney awarded Jesse Noller with a Disney beer stein that was themed after their animated movie, “Tangled”.
  • Alfredo Deza gave a talk a DSL-testing framework called Konira
  • Following that was a talk on Cram – a mercurial test suite for command line testing. I missed who gave that one. I think it’s this one: https://bitbucket.org/brodie/cram/src
  • Then there was a talk on Lab Coat. They had the speaker wear a lab coat too. I don’t remember who did this one (maybe the author?) or what this project even does…
  • Roman Lisagor gave a talk on Freshen, a clone of Ruby’s Cucumber project. It’s a plugin for nose and supposed to be similar to the lettuce project.
  • Kumar McMillan gave a talk entitled Fudging it with Mock Objects. Yes, it’s another mock library, but this one is based on some project called Mocha (and I think he said he used stuff from Michael Foord’s mock library as well). You can check it out here: http://farmdev.com/projects/fudge/
  • The next talk was Scientific Testing in Python. My notes are bad on this one, but I think it was related to the Bright project (correct me if I’m wrong). The speaker also mentioned something called goathub.com, but as far as I can tell, that doesn’t really exist.
  • Feihung Hsu made another appearance by giving a talk himself. It has this long title: How My comic Book obsession birthed a new functional tool. Basically it was web-scraping project for downloading Japanese manga that had been translated into Chinese using Python. He forked spynner, made it “dumber” and called his fork “Punky Browster”. I don’t think this project is available yet.

To sign up to give lightning talks, they used a convore thread. The front row was made up of hecklers that would heckle the speakers. They seemed to favor strong swearing for the heckling. It could be pretty funny and very crude. I learned about a lot of new projects I had never heard of though. It’s definitely something that I think is worth checking out at least once.

The Dropbox Plenary

The Saturday plenaries on 3/12/2011 started off with an engineer from Dropbox who gave a talk entitled “How Dropbox Did It and How Python Helped” with Rian Hunter. He started by telling us of the technical difficulties that Dropbox had to overcome. He told us that everything they wrote was done in Python and that he was the one who ported Dropbox to Linux. Anyway, he gave us some cool statistics about Dropbox, like the following:

  • Dropbox is the fastest growing downloaded application since Skype
  • More files are saved on Dropbox per day than tweets on Twitter – that’s 1,000,000 files saved every 15 minutes!
  • All this and no advertising whatsoever. It’s all word-of-mouth

To be honest, this was kind of a boring talk. The video is up now, so I’ll leave it to you to make your own opinion.

A Fireside Chat with Guido Van Rossum

The chat with Guido (creator of Python) was moderated by Jesse Noller. If you want, you can watch the video here. The questions for Guido were voted on by the community, but ultimately chosen by Jesse. I think the highlights for me was learning that Guido has trouble with certain programming paradigms, like asynchronous callbacks. Jesse also mentioned that Python 3 was a problem for Mark Pilgrim. I guess there was some controversy over something he said, but I missed it somehow. At the end of the plenary, they brought out a cake for Guido because it was Python’s 20th birthday this year.

On Saturday, March 12th, kicked off with Lightning Talks at 8:30 in the morning! Alfredo Deza started the session with a talk on chapa.vim. Next up was Dean Hall talking about Python on a Chip. He mentioned the PyMite project and a port of Python to DryOS which allows Python to run on Canon DSLR cameras.

Ned Batchelder talked about Slippy for Slides and how he wanted something similar in Python (I think). He realized he had written something called Cog that could do what he wanted and spent the rest of his time talking about that.

After Ned, there was a talk from this guy who was funded by the PSF to write documentation. He re-wrote the dev guide for Python, the Python 3 porting HOWTO, and set up the website py3ksupport.appspot.com.

Lastly there was a talk about GetPython3.net with Baiju Muthukadan from India. If I understood correctly, the site is for giving feedback for Python 3 packages.

You can watch the talks here.

In the afternoon of the first day of the official PyCon conference days (Friday, 3/11/2011), I went to a panel about teaching Python in Schools. It was led by Zac Miller who was the one who came up with doing the panel in the first place. He introduced Brian Brumley who went through what he did with Python in school.

Next up was Maria Litvin, a teach of math and computer science. Currently she teaches Python in public school. She mentioned various ideas she tried with her students to teach them programming. Then we jumped to Jeffrey Elkner from Arlington, VA who teaches Python in high school there. He has also advocated Python so much that he’s gotten it into 5 high schools in his area and even middle school. He also mentioned that someone was teaching with Scratch in the elementary schools there.

Finally they introduced Vern Ceder, director of Technology at the Canterbury School in Indiana. He teaches Python using Scribbler robots. He also mentioned some people using turtle to teach programming too.

After everyone was introduced, they allowed the audience to ask the panel questions. One good question was “What is the hardest things for kids to learn?” The answers were loops, conditionals and syntax.

Overall, I thought this was a pretty interesting panel. I wish I had learned programming in high school. The audience thought that programming should be offered in school too. You can check it out here.

I started out my morning session by attending Michael Foord’s Mock talk, but due to my green room volunteering position, I had to leave early. We were having some behind-the-scenes issues that needed to be taken care of. Alas! Anyway, I ended up skipping most of that, but I made it to another Python luminary:

Ian Bicking’s Talk on Javascript

Ian Bicking is well regarded in the Python community and at PyCon. He spoke on Javascript for Pythonistas this year. Here’s what I got out of it:

  • Javascript have objects everywhere, much like Python
  • Javascript has an object similar to Python dicts, at least syntactically looking
  • He spoke on variable scope, but I missed the point of that slide
  • undefined is falshish, different than null, not magical, and it’s an object!
  • typeof is slightly magic
  • prototypes are like Python classes?
  • this is like Python’s self. this always has a value even if it is not useful
  • arrays in Javascript suck
  • If you like Python, you’ll probably like CoffeeScript

David Beazley’s Talk

David Beazley gave a talk on Using Python 3 to Build a Cloud Computing Service for my Superboard II. He had been talking about this project on his blog too and I thought it sounded interesting. He talked about how the Superboard II was his first computer at age 12. If my notes are accurate, it had the following specs: 1 mhz cpu, 8k ram, 300 baud cassette.

He discovered that his parents still had the thing in their basement, so he got it out and tried to figure out what to do with it. His idea? Use Python to store it’s programs in the cloud! Or something like that. It uses audio cassette tapes to tell it what to do, so he had to port pyaudio to Python 3 and then simulate those sounds using his Mac. Eventually, he wrote an emulator of the Superboard II for testing purposes (I think). He also talked about writing a 6502 assembler in Python 3 in around 500 lines.

The takeaway here was that he had to port around 6 libraries to Python 3 (including Redis and pyPng). He used Redis to create his cloud and he showed a lot of recorded demos along the way demonstrating how he communicated with the Superboard and eventually how he stored its programs in the Redis cloud and even restored programs from the cloud to the Superboard. Overall, this talk rocked! I definitely recommend trying to find the video of this one.

Introduction with Van

The Official Python Conference days started today, Friday, March 11th, 2011. Van Lindberg started things off with an introductory speech. He spent some time thanking donors and explaining how the rooms would be split up. Then he gave out some door prizes, which appeared to be Python programming books.

Steve Holden’s Plenary

Steve Holden, PSF Chairman, was next and gave a talk entitled “The PSF Year”. The talk seemed to be focused on how the PSF does the background stuff behind PyCon. He said that there were over 1300 (or 1400, depending on how you count, whatever that means) registrations for this year’s conference. He went on to tell the audience about how the PSF has supported other conferences and Python projects. For example, they have funded OpenSSL in Python 3 and the Python Miro community. Holden also mentioned a PSF Python Brochure. He also recognized the PSF board and members. (Convore also has a page on this keynote)

Jesse Noller’s Plenary

Jesse did a “raffle” too, but it was just for the PyPy project. He gave them one of those giant checks for $10,000.

Hilary Mason

Hilary Mason, chief scientist of bit.ly. She talked about what she does at work, like using Python for machine learning. She showed some kind of quine equation with Python that was almost impossible to read. She showed an interesting graph that showed where Python was in StackOverflow’s number of questions. Python was near the top. For some reason, she pointed out that an article from the BBC showed that London taxi drivers have a bigger hippo-campus than other people. She did an informal survey to find the most popular Python construct. The winner? List comprehensions!

Other topics she covered were kinect hacks, security, 1700 equations, favorite books, etc. Then she started talking about machine learning and how we need to build the tools to make machine learning happen. She showed an interesting map showing where people were from who clicked on links related to PyCon. Then she showed the next two sites that the people would go to. One was a “Happy 18th Birthday ro Ruby” and then some kind of naked password website.

She ended her talk speaking a little about the tsunami that hit Japan last night. Then she went into Q&A with the audience. See also the Convore page on the keynote.

I attended the Creating GUI Applications in Python using Qt I by Paul Kippes this morning and then I attended half of his second tutorial on PyQt this afternoon. The speaker had lots of materials to give us including fairly extensive examples. I think I learned a lot during the morning session because I had a fair amount of hands-on code editing and using Qt’s Designer, which is a WYSIWYG editor for creating the GUI, kind of like Microsoft’s Visual Studio.

The second session was just a talk with no on-hands coding of any kind. I was not engaged during this tutorial very well and decided I would be better off leaving at break and doing something else. I’ll study the speaker’s notes and code examples later. Look forward to some articles on PyQt and perhaps PySide in the future!

My first tutorial of the day was Advanced Python I with Raymond Hettinger. He is very knowledgeable, but I got stuck in the very back of the room and had a terrible time following him. The speaker went over a bunch of basics of IDLE with Python 3.2. He covered how to open a module and use IDLE’s builtin Class Browser to browse the code quickly.

He then moved on to optimization using itertools (which he wrote?) and functools through a vectorization process. He would show some bad code with lots of function or method calls and then he’d fix the code using part of itertools, functools or both. I think I know a little more about optimization, but I wasn’t up for the second part of the class. Note that this was considered an “Experienced” level tutorial. I guess I’m not quite experienced enough yet, but I hope I will be by next year.

A couple months ago, I told my readership that my organization wasn’t going to pay my way to PyCon and wondered if they would help me. I got mixed results and dropped that idea. Then my boss said he was going to try to make it so I could go and he did. So I made it to PyCon after all. I got in yesterday afternoon, after much confusion with the strange Atlanta shuttle service who put me in multiple vans before finally bringing me to the hotel.

So far, I’ve met a few people and seen some acquaintances. I also did some volunteer work last night. Today I went to my first tutorial of the day, but I’ll write about both of those activities in separate posts. For this short one, I wanted to get feedback and ideas. Let me know what you want to see and if I can fit it into my schedule, I’ll check it out and write about it. Check out the PyCon schedule to get some ideas. Thanks!

The PyCon USA 2011 site has finally gotten its schedule up this week and in the last couple of days, they have added the ability to sign up to be a Session Chair or Session Runner. These are fairly important roles that need to be filled to make the conference flow smoothly.

Basically, a Session Chair will chair a block of talks. What that means is he or she will introduce the speakers and help to stay on time. They can also help organize an open space, although I don’t think that’s mentioned in the job description this year. Finally, they help take questions from the audience.

The Session Runner will help the speaker get from the green room to the appropriate stage. They help in any way needed to make the session run smoothly. In other words, they assist the Session Chair.

You can meet fun people and make new friends by signing up for one or both of these positions. Just go to the schedule page and click on the “S” symbol next to a talk to sign up. Just remember that you’re signing up for a 2 or 3 talk session in one room. Be sure to check in at the green room to get your gear probably 15-30 minutes before the first talk in your session.

Update: Another way to view which sessions have Chairs / Runners has been posted to the PyCon website

« Previous PageNext Page »