My Blog Has Moved to audreymroy.com/blog/
From now on, I’ll be blogging at http://audreymroy.com/blog/. Please update your RSS readers! Thanks.
From now on, I’ll be blogging at http://audreymroy.com/blog/. Please update your RSS readers! Thanks.
I just got back from a long conference circuit, attending and speaking at PyCon Australia, Kiwi PyCon, DjangoCon US, and PyCodeConf. It was a ton of work, but it was a blast.
I got to blog about PyCon Australia already, but then the time in between the other conferences was just a bit too hectic to blog.
I gave the opening keynote speech at Kiwi PyCon in Wellington, New Zealand. The talk was meant to be mildly provocative but in an inspiring, “go out and code” kind of way.
The Pythonistas of New Zealand are amazing. I met more Twisted devs than I’ve ever met in my life, attended tons of hardcore Python talks by women, and ones by men too, and learned all sorts of new things. I was also blown away by the hospitality of the conference organizers, particularly Tim McNamara and Richard Shea.
After the conference, I spent a couple of days going around the countryside and southern island coastal towns with Danny. It was spectacular.
I co-presented the Django Package Thunderdome with Daniel Greenfeld. Here we presented the results of a survey of the most recommended third-party packages of the Django world.
I got to attend with several of the LA PyLadies as well as others whom I knew online through IRC #pyladies and the PyLadies Sponsorship Program. Hanging out in the unofficial PyLadies welcome suite was more fun than should be allowed :)
The DjangoCon US organizers (Sean O’Connor and Steve Holden) let us get away with tons of things, including selling “Djangsta” shirts to benefit PyLadies and setting up a PyLadies welcome table beside the registration desk.
I attended and spoke at the first ever PyCodeConf, a new kind of Python conference with a radically different format. Speakers are invited to speak about whatever they desire relating to the theme (“The Future of Python”), in front of a room of round tables. In between talks there are long breaks to encourage discussion. As a result, talks are edgier, and you really get to know people and possibly shape the future together.
I gave a talk about how third-party package ecosystems either form and flourish or don’t form, depending on various factors. I brought up packaging patterns and anti-patterns seen in the Python package ecosystem as well as those of other languages.
This was a conference with a superstar lineup, including many notable woman speakers whom the organizers went out of their way to invite. It was very thoughtfully planned by the organizers of CodeConf and JSConf (Tom Preston-Werner, Chris Wanstrath, and Chris Williams), and the attention to detail really showed.
The informal chats and bonding during the after-hours parties made this conference especially worthwhile. There’s something special about talking to other developers while you’re in a 14th floor swimming pool.
Overall it was thrilling to get my thoughts out there and try to inspire people all over the world. It was also quite nerve-wracking and stressful, but I’m glad I did it.
I learned tons and am already applying much of that knowledge directly to projects at work at Cartwheel Web. If your employer doesn’t already send you to Python conferences, you should ask to be sent. You come back with experiences, connections, and knowledge that are priceless.
I managed to squeeze my personal Python wishlist into this keynote speech about diversity in Python.
More image processing options besides what we have in PIL 1.1.7, please. More attempts at Python in the browser. More Python packages in general. More diversity of Python packages. More diverse Python open-source package authors from all walks of life.
“There should be one — and preferably only one — obvious way to do it” is about the design of Python as a language, not about artifically limiting the diversity of packages. Let’s tap as many untapped resources as possible and try to grow the Python package ecosphere.
PyCon Australia was beyond amazing. There is something special about the atmosphere there, a feeling of openness that promotes open discussion. There was a talk by Richard Jones evaluating/comparing Python microframeworks, and a talk by Graham Dumpleton comparing web hosting mechanisms, including comparisons of web servers. It was great to see these types of comparison/overview talks, and I think the friendly audience was what made presenting such topics possible.
I got to host the “Women in Python” breakfast and meet many of the thirty-five women who attended the conference.
Also, I was thrilled to see several female speakers presenting interesting Python talks: Brianna Laugher giving a talk on Zookeeper (Pylons-based conference management software powering linux.conf.au), Georgina Wilcox and Katie M. Bell giving a talk about teaching Python, and of course Mary Gardiner of the Ada Initiative giving a keynote speech about Python open-source projects (Plover, Software Carpentry, Calibre, Sugar).
Finally, it was great to talk to Elena Williams who was inspired to get started on organizing DjangoCon AU and co-organizing PyLadies groups in Australia with Jenny Nguyen and Kathleen O’Toole. Also, I hear that Brianna Laugher and Rhydwyn are planning to teach a women’s Python workshop in Melbourne, possibly with Melbourne PUG. And Elena and Jenny may be starting Python user groups at their universities. It’s very exciting.
</div><div>pip install Sphinx==1.0.7 (or whatever the latest version is)</div><div>mkdir docs</div><div>cd docs</div><div>sphinx-quickstart</div> <div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"></div> <div>> Root path for the documentation [.]: </div></div><div><div>> Separate source and build directories (y/N) [n]: </div></div><div>> Name prefix for templates and static dir [_]: </div><div><div>> Project name: django-startcbv</div> <div>> Author name(s): Audrey Roy</div></div><div><div>> Project version: 0.1</div><div>> Project release [0.1]: </div></div><div><div>> Source file suffix [.rst]:</div></div><div><div>> Name of your master document (without suffix) [index]: </div> </div><div><div>> autodoc: automatically insert docstrings from modules (y/N) [n]: y</div><div>> doctest: automatically test code snippets in doctest blocks (y/N) [n]: </div><div>> intersphinx: link between Sphinx documentation of different projects (y/N) [n]: </div> <div>> todo: write "todo" entries that can be shown or hidden on build (y/N) [n]: </div><div>> coverage: checks for documentation coverage (y/N) [n]: </div><div>> pngmath: include math, rendered as PNG images (y/N) [n]: </div> <div>> jsmath: include math, rendered in the browser by JSMath (y/N) [n]: </div><div>> ifconfig: conditional inclusion of content based on config values (y/N) [n]: </div><div>> viewcode: include links to the source code of documented Python objects (y/N) [n]: y</div> </div><div><div>> Create Makefile? (Y/n) [y]: </div><div>> Create Windows command file? (Y/n) [y]: </div></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"></div><div>make html</div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"></div><div><div>sys.path.insert(0, os.path.abspath('../startcbv'))</div><div>sys.path.insert(0, os.path.abspath('../test_project'))</div> <div> </div><div>import settings</div><div>from django.core.management import setup_environ</div><div>setup_environ(settings)</div></div><div></div><div>_templates</div><div>_static</div><div>_build</div></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"></div><div>==========================</div><div>Reference for startcbv app</div> <div>==========================</div><div> </div><div>The startcbv app gives you the management command "python manage.py startcbv things".</div><div> </div><div> </div><div>``startcbv management command``</div> <div>===============================</div><div>.. automodule:: management.commands.startcbv</div><div> :members:</div><div> :undoc-members:</div></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"></div><div><div><div>.. django-startcbv documentation master file, created by</div><div> sphinx-quickstart on Mon Jul 11 21:34:47 2011.</div> <div> You can adapt this file completely to your liking, but it should at least</div><div> contain the root `toctree` directive.</div><div> </div><div>Welcome to django-startcbv's documentation!</div><div>===========================================</div> <div> </div><div>Contents</div><div>-----------</div><div> </div><div>.. toctree::</div><div> :maxdepth: 2</div><div> </div><div> installation</div><div> usage</div><div> </div><div>API/Reference Docs</div> <div>--------------------</div><div> </div><div>.. toctree::</div><div> :maxdepth: 2</div><div> </div><div> ref_startcbv</div><div> </div><div>Indices and tables</div><div>==================</div><div> </div> <div>* :ref:`genindex`</div><div>* :ref:`modindex`</div><div>* :ref:`search`</div></div></div><div></div><div>cd ~/code/django-startcbv</div> <div>git add .</div><div>git commit -m "Added Sphinx docs."</div><div>git push</div><div></div><div>Name: django-startcbv</div> <div>Repo: http://github.com/audreyr/django-startcbv.git</div><div>Repo type: Git</div><div>Description: Management command to start an app with class-based views. You use "python manage.py startcbv ". It's very fresh and unstable, so use at your own risk, but it does work!
Episode 1 of Scared of Rabbits. I feel sad for this poor little bird.
I met the amazing Danny Greenfeld last year and fell madly in love.
Here we were tangoing at PyCon 2010.
Here we are in front of the Lawrence Journal-World headquarters in Lawrence, KS, birthplace of the Django web framework. We love Lawrence!
Here he was doing djymnastics around me at Djangocon 2010. (Thanks, Shawn Rider, for making this awesome video.)
Here we were at PyCon 2011 leading the Packaginator sprint together. Danny’s on the left, cut off a bit by the camera, but you can see the smile on our faces. If you zoom in and look closely, you can see that Danny’s arm is around me.
We wouldn’t have found each other if not for the following things and people:


Baking fries at 375-400 F for 40 min without any pre-soaking results Posted via email from Audrey M. Roy | Comment »
I won the Twilio+AppEngine contest with Price It By Phone, an app that lets you look up Amazon.com book prices by touch-tone phone. Right now it’s up and running at http://price-it.appspot.com.
If you try it and run into problems, please let me know!My interview with Twilio is here. I like the Twilio API a lot. It’s the easiest-to-use API imaginable. You set up your Twilio phone number with a URL to post to. Then, when you call the phone number, Twilio sends a POST request to that URL with the caller phone # and the digits entered as parameters. They have a Twilio-AppEngine sample among their demo apps. This is awesome. As you can see, I’m back to really liking GAE again, a lot.I’m putting a bit more time into Price-It and hoping to launch v2 soon. Features that I want to put into it for sure: support for ISBNs with Xs and any other chars that appear in them, user accounts, verifying your phone # before you’re allowed to see your book lookup history, being able to delete your history. Possible features to be added: integration with Amazon wish list, FB connect. Also, I want to make it look web2.0 shiny, with cute illustrations and bright, designed gradients. Yes, I know that the dark, trippy background doesn’t have mass appeal. Sometimes I make art for the sake of making myself happy :) View the page’s source code to see how it’s done. If you have other feature ideas, I’d be interested in hearing them.Posted via email from Audrey M. Roy | Comment »
The librarians & library students in Seattle know how to party. 3 librarian parties in 2 nights thx to my UW friend, so much fun