Farm Development

Presenting a Solid Tutorial at PyCon

Proposals for tutorials at PyCon 2009 are now being accepted through October 31st.

Due to many projects I have going on right now I probably won't be able to propose a tutorial myself but I thought I'd share some thoughts from last year when Feihong Hsu and I presented Secrets of the Framework Creators.

Here's what went well...

Here's what could have gone better...

It was fun. Plus, you get paid!! :) I'd highly recommend giving a tutorial of your own. There's even a page on ideas for tutorials if you can't think of one.

  • Re: Presenting a Solid Tutorial at PyCon

    This was nice rundown of the issues we ran into while delivering last year's tutorial. I would like to comment a little on what we did right/wrong during the process of preparing the tutorial.

    What we did right:

    - We held a live rehearsal, with real students, who came from a mix of backgrounds. We basically did the whole tutorial, except for free and not at PyCon. Not everyone will have this luxury, but the feedback we got from this was incredibly valuable.

    - We met fairly regularly and did it bit by bit. We didn't cram all the work into a few really long sessions. If we had, we would've come up the same basic material but it would've been way less organized. The meetings weren't necessarily productive in the normal sense, since we hardly ever got much writing done. But they helped stimulate the work that we did between meetings, and helped us stay on track.

    - We met face to face, instead of just chatting on IM. This was really important, I think.

    What we could've done better:

    - I think the way we presented code could've been better. We should've taken advantage of basic presentation techniques like zooming, highlighting, and annotation (it's super easy once you figure it out). I think we did a pretty good job, actually. But doing this would've taken the quality of our presentation up to another level.

    - Typing stuff out all the time for the interactive interpreter is a bit of a drain on your concentration. In a two-man tutorial it can work, but if it's just you then you definitely want to automate parts of the interactive session. That's kinda what Pete Fein did at the previous ChiPy meeting, where he just gave the whole presentation through a "simulated" interactive interpreter. He also obviously didn't make any distracting typos when doing it this way.

  • Re: Presenting a Solid Tutorial at PyCon

    Ah, yes, agreed. I knew I was forgetting some things.

  • Re: Presenting a Solid Tutorial at PyCon

    thanks for mentioning this. I think I'll try to put something together about how great class decorators are.

  • Re: Presenting a Solid Tutorial at PyCon

    Thanks Kumar, this was a very informative rundown. I'm considering offering a tutorial for 2009, but I hadn't attended any in 2008, so I was definitely looking for something like this help get a feel for what I'd be in for.

  • Re: Presenting a Solid Tutorial at PyCon

    Have you looked at py-browsershots? http://browsershots.org/

    they have the (Python) source available. I was thinking it could be pretty cool to setup your own brosershot farm and have your js app loaded by every browser, with a server logging responses to the tests.

    so a browser loads the site (as directed by browsershots)

    the browser runs the javascript test code

    the browser then hits the server with the results of the test code

    if the browser doesn't hit the server, the server would know that the test didn't pass. You might already be able to do something similar with selenium. Just an idea

Note: HTML tags will be stripped. Hit enter twice for a new paragraph.

Recent Projects

  • JSTestNet

    Like botnet but for JS tests in CI.

  • Nose Nicedots

    Nose plugin that prints nicer dots.

  • Fudge

    Mock objects for testing.

  • Fixture

    Loading and referencing test data.

  • NoseJS

    Nose plugin that runs JavaScript tests for a Python project.

  • Wikir

    converts reST to various Wiki formats.