<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Audrey M. Roy</title>
    <link>http://audreyr.posterous.com</link>
    <description>Art, design, Python, JavaScript, and general silliness</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" href="http://posterous.com/api/sup_update#f70bd5cc6" type="application/json" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/audreyr" /><feedburner:info uri="audreyr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><item>
      <pubDate>Tue, 21 Feb 2012 17:58:00 -0800</pubDate>
      <title>My Blog Has Moved to audreymroy.com/blog/</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/o2yy1W3ZFII/my-blog-has-moved-to-audreymroycomblog</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/my-blog-has-moved-to-audreymroycomblog</guid>
      <description>&lt;p&gt;
	&lt;p&gt;From now on, I'll be blogging at&amp;nbsp;&lt;a href="http://audreymroy.com/blog/"&gt;http://audreymroy.com/blog/&lt;/a&gt;. &amp;nbsp;Please update your RSS readers!&lt;/p&gt;
&lt;p&gt;Also, by the way, if you haven't signed up at &lt;a href="http://consumernotebook.com"&gt;consumernotebook.com&lt;/a&gt; yet, please do! &amp;nbsp;That's my startup :) &amp;nbsp;I've been working on Consumer Notebook with &lt;a href="http://pydanny.com"&gt;Daniel Greenfeld&lt;/a&gt; since November 2011. &amp;nbsp;We're in private beta now.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/my-blog-has-moved-to-audreymroycomblog"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/my-blog-has-moved-to-audreymroycomblog#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/o2yy1W3ZFII" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/my-blog-has-moved-to-audreymroycomblog</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 13 Oct 2011 13:43:00 -0700</pubDate>
      <title>Kiwi PyCon, DjangoCon US, and PyCodeConf Recap</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/Rox2w846hqg/75336715</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/75336715</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I just got back from a long conference circuit, attending and speaking at &lt;a href="http://pycon-au.org/2011/"&gt;PyCon Australia&lt;/a&gt;, &lt;a href="http://nz.pycon.org/2011/"&gt;Kiwi PyCon&lt;/a&gt;, &lt;a href="http://djangocon.us/"&gt;DjangoCon US&lt;/a&gt;, and &lt;a href="http://py.codeconf.com/"&gt;PyCodeConf&lt;/a&gt;. &amp;nbsp;It was a ton of work, but it was a blast.&lt;/p&gt;
&lt;p&gt;I got to &lt;a href="http://audreyr.posterous.com/thank-you-pycon-au"&gt;blog about PyCon Australia&lt;/a&gt; already, but then the time in between the other conferences was just a bit too hectic to blog. &amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Kiwi PyCon 2011&lt;/h2&gt;
&lt;p&gt;I gave the opening keynote speech at Kiwi PyCon in &lt;a href="http://en.wikipedia.org/wiki/Wellington"&gt;Wellington&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/New_Zealand"&gt;New Zealand&lt;/a&gt;.  The talk was meant to be mildly provocative but in an inspiring, "go out and code" kind of way.&lt;/p&gt;
&lt;div style=""&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/audreyr/kiwi-pycon-2011-audrey-roy-keynote-speech" title="Kiwi PyCon 2011 - Audrey Roy Keynote Speech" target="_blank"&gt;Kiwi PyCon 2011 - Audrey Roy Keynote Speech&lt;/a&gt;&lt;/strong&gt; &lt;iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/9037404" frameborder="0" height="355" width="425"&gt;&lt;/iframe&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/audreyr" target="_blank"&gt;Audrey Roy&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The Pythonistas of New Zealand are amazing. I met more &lt;a href="http://twistedmatrix.com/trac/"&gt;Twisted&lt;/a&gt; devs than I've ever met in my life, attended tons of hardcore &lt;a href="http://python.org"&gt;Python&lt;/a&gt; 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 &lt;a href="http://timmcnamara.co.nz/"&gt;Tim McNamara&lt;/a&gt; and &lt;a href="http://mainlydata.kubadev.com/"&gt;Richard Shea&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After the conference, I spent a couple of days going around the countryside and southern island &lt;a href="http://en.wikipedia.org/wiki/Nelson,_New_Zealand"&gt;coastal&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Picton,_New_Zealand"&gt;towns&lt;/a&gt; with &lt;a href="http://pydanny.blogspot.com"&gt;Danny&lt;/a&gt;.  It was spectacular.&lt;/p&gt;
&lt;h2&gt;DjangoCon US 2011&lt;/h2&gt;
&lt;p&gt;I co-presented the &lt;a href="http://djangopackages.com"&gt;Django Package&lt;/a&gt; Thunderdome with Daniel Greenfeld.  Here we presented the results of a survey of the most recommended third-party packages of the &lt;a href="http://djangoproject.com"&gt;Django&lt;/a&gt; world.&lt;/p&gt;
&lt;div style=""&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/audreyr/django-package-thunderdome-by-audrey-roy-daniel-greenfeld" title="Django Package Thunderdome by Audrey Roy &amp;amp; Daniel Greenfeld" target="_blank"&gt;Django Package Thunderdome by Audrey Roy &amp;amp; Daniel Greenfeld&lt;/a&gt;&lt;/strong&gt; &lt;iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/9168634" frameborder="0" height="355" width="425"&gt;&lt;/iframe&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/audreyr" target="_blank"&gt;Audrey Roy&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I got to attend with several of the &lt;a href="http://www.meetup.com/la-pyladies"&gt;LA PyLadies&lt;/a&gt; as well as others whom I knew online through IRC #pyladies and the &lt;a href="http://pyladies.com"&gt;PyLadies&lt;/a&gt; Sponsorship Program.  Hanging out in the unofficial PyLadies welcome suite was more fun than should be allowed :)&lt;/p&gt;
&lt;p&gt;The DjangoCon US organizers (&lt;a href="http://www.seanoc.com/blog"&gt;Sean O'Connor&lt;/a&gt; and &lt;a href="http://holdenweb.com/"&gt;Steve Holden&lt;/a&gt;) let us get away with tons of things, including selling "&lt;a href="http://pyladies.com/blog/djangsta-shirts-on-sale-at-djangocon/"&gt;Djangsta&lt;/a&gt;" shirts to benefit PyLadies and setting up a PyLadies welcome table beside the registration desk.&lt;/p&gt;
&lt;h2&gt;PyCodeConf 2011&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div style=""&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/audreyr/amazing-thingspycodeconfaudreyroy" title="Amazing Things: Third-Party Python Package Ecosystems" target="_blank"&gt;Amazing Things: Third-Party Python Package Ecosystems&lt;/a&gt;&lt;/strong&gt; &lt;iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/9597722" frameborder="0" height="355" width="425"&gt;&lt;/iframe&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/audreyr" target="_blank"&gt;Audrey Roy&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This was a conference with a superstar lineup, including many notable woman speakers whom the organizers went out of their way to invite. &amp;nbsp;It was very thoughtfully planned by the organizers of &lt;a href="http://codeconf.com/"&gt;CodeConf&lt;/a&gt; and &lt;a href="http://jsconf.us/"&gt;JSConf&lt;/a&gt; (&lt;a href="http://tom.preston-werner.com/"&gt;Tom Preston-Werner&lt;/a&gt;, &lt;a href="http://defunkt.io/"&gt;Chris Wanstrath&lt;/a&gt;, and &lt;a href="http://twitter.com/voodootikigod"&gt;Chris Williams&lt;/a&gt;), and the attention to detail really showed. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I learned tons and am already applying much of that knowledge directly to projects at work at &lt;a href="http://cartwheelweb.com"&gt;Cartwheel Web&lt;/a&gt;. &amp;nbsp;If your employer doesn't already send you to Python conferences, you should ask to be sent. &amp;nbsp;You come back with experiences, connections, and knowledge that are priceless.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/75336715"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/75336715#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/Rox2w846hqg" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/75336715</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 25 Aug 2011 19:19:00 -0700</pubDate>
      <title>Thank you, PyCon AU</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/DjljWmlbNts/thank-you-pycon-au</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/thank-you-pycon-au</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I managed to squeeze my personal &lt;a href="http://python.org"&gt;Python&lt;/a&gt; wishlist into this keynote speech about diversity in Python. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;More image processing options besides what we have in &lt;a href="http://www.pythonware.com/products/pil/"&gt;PIL&lt;/a&gt; 1.1.7, please. &amp;nbsp;More attempts at Python in the browser. More &lt;a href="http://pypi.python.org/pypi/"&gt;Python packages&lt;/a&gt; in general. &amp;nbsp;More diversity of Python packages. &amp;nbsp;More diverse Python open-source package authors from all walks of life. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;"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. &amp;nbsp;Let's tap as many untapped resources as possible and try to grow the Python package ecosphere.&lt;/p&gt;
&lt;div style=""&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/audreyr/pycon-australia-2011-keynote-audrey-roy" title="Pycon Australia 2011 Keynote - Audrey Roy" target="_blank"&gt;Pycon Australia 2011 Keynote - Audrey Roy&lt;/a&gt;&lt;/strong&gt; &lt;iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/8952286" frameborder="0" height="355" width="425"&gt;&lt;/iframe&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/audreyr" target="_blank"&gt;Audrey Roy&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PyCon Australia was beyond amazing. &amp;nbsp;There is something special about the atmosphere there, a feeling of openness that promotes open discussion. &amp;nbsp;There was a talk by &lt;a href="http://www.mechanicalcat.net/"&gt;Richard Jones&lt;/a&gt; &lt;a href="http://www.slideshare.net/r1chardj0n3s/web-microframework-battle"&gt;evaluating/comparing Python microframeworks&lt;/a&gt;, and a talk by &lt;a href="http://blog.dscpl.com.au/"&gt;Graham Dumpleton&lt;/a&gt; &lt;a href="http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-pycon-sydney-2011.pdf&amp;amp;can=2&amp;amp;q="&gt;comparing web hosting mechanisms&lt;/a&gt;, including comparisons of web servers. &amp;nbsp;It was great to see these types of comparison/overview talks, and I think the friendly audience was what made presenting such topics possible.&lt;/p&gt;
&lt;p&gt;I got to host the "Women in Python" breakfast and meet many of the thirty-five women who attended the conference.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/pyladies/6073484764/" title="Breakfast by PyLadies, on Flickr"&gt;&lt;img src="http://farm7.static.flickr.com/6203/6073484764_d0d0a80dcb_m.jpg" height="159" alt="Breakfast" width="240" /&gt;&lt;/a&gt; &lt;a href="http://www.flickr.com/photos/pyladies/6073484758/" title="Breakfast by PyLadies, on Flickr"&gt;&lt;img src="http://farm7.static.flickr.com/6071/6073484758_67f675b917_m.jpg" height="159" alt="Breakfast" width="240" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;a href="http://www.flickr.com/photos/pyladies/6073484744/" title="Breakfast by PyLadies, on Flickr"&gt;&lt;img src="http://farm7.static.flickr.com/6205/6073484744_be1eb7773a_m.jpg" height="159" alt="Breakfast" width="240" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, I was thrilled to see several female speakers presenting interesting Python talks: &lt;a href="http://brianna.laugher.id.au/"&gt;Brianna Laugher&lt;/a&gt; giving a talk on &lt;a href="http://pycon-au.org/2011/conference/schedule/event/14/"&gt;Zookeeper&lt;/a&gt; (&lt;a href="http://pylonsproject.org"&gt;Pylons&lt;/a&gt;-based conference management software powering &lt;a href="http://linux.conf.au/"&gt;linux.conf.au&lt;/a&gt;), Georgina Wilcox and Katie M. Bell&lt;a href="http://pycon-au.org/2011/conference/schedule/event/31/ "&gt; giving a talk about teaching Python&lt;/a&gt;, and of course &lt;a href="http://adainitiative.org/about-us/"&gt;Mary Gardiner&amp;nbsp;of the Ada Initiative&lt;/a&gt; giving a keynote speech about Python open-source projects (&lt;a href="http://stenoknight.com/plover/"&gt;Plover&lt;/a&gt;, &lt;a href="http://software-carpentry.org/"&gt;Software Carpentry&lt;/a&gt;, &lt;a href="http://calibre.kovidgoyal.net/"&gt;Calibre&lt;/a&gt;, &lt;a href="http://wiki.sugarlabs.org/"&gt;Sugar&lt;/a&gt;). &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Finally, it was great to talk to &lt;a href="http://twitter.com/elequ"&gt;Elena Williams&lt;/a&gt; who was inspired to get started on organizing DjangoCon AU and co-organizing &lt;a href="http://pyladies.com"&gt;PyLadies&lt;/a&gt; groups in Australia with &lt;a href="https://twitter.com/knockycode"&gt;Jenny Nguyen&lt;/a&gt; and &lt;a href="https://twitter.com/#!/duckykhan"&gt;Kathleen O'Toole&lt;/a&gt;. &amp;nbsp;Also, I hear that Brianna Laugher and &lt;a href="https://github.com/rhydwyn"&gt;Rhydwyn&lt;/a&gt; are planning to teach a women's Python workshop in Melbourne, possibly with &lt;a href="http://wiki.python.org/moin/MelbournePUG"&gt;Melbourne PUG&lt;/a&gt;. &amp;nbsp;And Elena and Jenny may be starting Python user groups at their universities. &amp;nbsp;It's very exciting.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/thank-you-pycon-au"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/thank-you-pycon-au#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/DjljWmlbNts" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/thank-you-pycon-au</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 11 Jul 2011 22:41:00 -0700</pubDate>
      <title>How to create Sphinx docs the Python / Github / Read the Docs way</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/JtYSkEwj0RM/how-to-create-sphinx-docs-the-python-github-r</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/how-to-create-sphinx-docs-the-python-github-r</guid>
      <description>&lt;p&gt;
	&lt;p&gt;This is a full walkthrough of how to document a Python package, using&amp;nbsp;&lt;a href="https://github.com/audreyr/django-startcbv"&gt;https://github.com/audreyr/django-startcbv&lt;/a&gt;&amp;nbsp;as the sample package to be documented. &amp;nbsp;It probably works for non-Python packages too.&lt;/p&gt;
&lt;p /&gt;
&lt;div&gt;Follow along with documenting a Python package of your own. &amp;nbsp;Or try it with one of those poor, undocumented, lonely Python packages out there!&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;At the command line:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;pip install Sphinx==1.0.7 (or whatever the latest version is)&lt;/div&gt;&lt;div class="line" id="LC2"&gt;mkdir docs&lt;/div&gt;&lt;div class="line" id="LC3"&gt;cd docs&lt;/div&gt;&lt;div class="line" id="LC4"&gt;sphinx-quickstart&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;p /&gt;
&lt;div&gt;Enter something like the following at the prompts:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;span rel="#L5" id="L5"&gt;5&lt;/span&gt;
&lt;span rel="#L6" id="L6"&gt;6&lt;/span&gt;
&lt;span rel="#L7" id="L7"&gt;7&lt;/span&gt;
&lt;span rel="#L8" id="L8"&gt;8&lt;/span&gt;
&lt;span rel="#L9" id="L9"&gt;9&lt;/span&gt;
&lt;span rel="#L10" id="L10"&gt;10&lt;/span&gt;
&lt;span rel="#L11" id="L11"&gt;11&lt;/span&gt;
&lt;span rel="#L12" id="L12"&gt;12&lt;/span&gt;
&lt;span rel="#L13" id="L13"&gt;13&lt;/span&gt;
&lt;span rel="#L14" id="L14"&gt;14&lt;/span&gt;
&lt;span rel="#L15" id="L15"&gt;15&lt;/span&gt;
&lt;span rel="#L16" id="L16"&gt;16&lt;/span&gt;
&lt;span rel="#L17" id="L17"&gt;17&lt;/span&gt;
&lt;span rel="#L18" id="L18"&gt;18&lt;/span&gt;
&lt;span rel="#L19" id="L19"&gt;19&lt;/span&gt;
&lt;span rel="#L20" id="L20"&gt;20&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&amp;gt; Root path for the documentation [.]: &lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;gt; Separate source and build directories (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;gt; Name prefix for templates and static dir [_]: &lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;gt; Project name: django-startcbv&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&amp;gt; Author name(s): Audrey Roy&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&amp;gt; Project version: 0.1&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&amp;gt; Project release [0.1]: &lt;/div&gt;&lt;div class="line" id="LC8"&gt;&amp;gt; Source file suffix [.rst]:&lt;/div&gt;&lt;div class="line" id="LC9"&gt;&amp;gt; Name of your master document (without suffix) [index]: &lt;/div&gt;&lt;div class="line" id="LC10"&gt;&amp;gt; autodoc: automatically insert docstrings from modules (y/N) [n]: y&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&amp;gt; doctest: automatically test code snippets in doctest blocks (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;gt; intersphinx: link between Sphinx documentation of different projects (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;gt; todo: write &amp;quot;todo&amp;quot; entries that can be shown or hidden on build (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC14"&gt;&amp;gt; coverage: checks for documentation coverage (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC15"&gt;&amp;gt; pngmath: include math, rendered as PNG images (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC16"&gt;&amp;gt; jsmath: include math, rendered in the browser by JSMath (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC17"&gt;&amp;gt; ifconfig: conditional inclusion of content based on config values (y/N) [n]: &lt;/div&gt;&lt;div class="line" id="LC18"&gt;&amp;gt; viewcode: include links to the source code of documented Python objects (y/N) [n]: y&lt;/div&gt;&lt;div class="line" id="LC19"&gt;&amp;gt; Create Makefile? (Y/n) [y]: &lt;/div&gt;&lt;div class="line" id="LC20"&gt;&amp;gt; Create Windows command file? (Y/n) [y]: &lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;At the command line:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;make html&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Add to docs/conf.py:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;span rel="#L5" id="L5"&gt;5&lt;/span&gt;
&lt;span rel="#L6" id="L6"&gt;6&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;sys.path.insert(0, os.path.abspath(&amp;#39;../startcbv&amp;#39;))&lt;/div&gt;&lt;div class="line" id="LC2"&gt;sys.path.insert(0, os.path.abspath(&amp;#39;../test_project&amp;#39;))&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;import settings&lt;/div&gt;&lt;div class="line" id="LC5"&gt;from django.core.management import setup_environ&lt;/div&gt;&lt;div class="line" id="LC6"&gt;setup_environ(settings)&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Add to your .gitignore file:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;_templates&lt;/div&gt;&lt;div class="line" id="LC2"&gt;_static&lt;/div&gt;&lt;div class="line" id="LC3"&gt;_build&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Create docs/ref_startcbv.rst:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;span rel="#L5" id="L5"&gt;5&lt;/span&gt;
&lt;span rel="#L6" id="L6"&gt;6&lt;/span&gt;
&lt;span rel="#L7" id="L7"&gt;7&lt;/span&gt;
&lt;span rel="#L8" id="L8"&gt;8&lt;/span&gt;
&lt;span rel="#L9" id="L9"&gt;9&lt;/span&gt;
&lt;span rel="#L10" id="L10"&gt;10&lt;/span&gt;
&lt;span rel="#L11" id="L11"&gt;11&lt;/span&gt;
&lt;span rel="#L12" id="L12"&gt;12&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;==========================&lt;/div&gt;&lt;div class="line" id="LC2"&gt;Reference for startcbv app&lt;/div&gt;&lt;div class="line" id="LC3"&gt;==========================&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;The startcbv app gives you the management command &amp;quot;python manage.py startcbv things&amp;quot;.&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC8"&gt;``startcbv management command``&lt;/div&gt;&lt;div class="line" id="LC9"&gt;===============================&lt;/div&gt;&lt;div class="line" id="LC10"&gt;.. automodule:: management.commands.startcbv&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:members:&lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:undoc-members:&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;
&lt;div&gt;Copy and paste your installation and usage instructions from README.rst into docs/installation.rst and docs/usage.rst. &amp;nbsp;I know it's annoying. &amp;nbsp;There's no good way to symlink your Github readme content to your Read the Docs Sphinx readme content (yet).&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Add to docs/index.rst so that it looks something like:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;span rel="#L5" id="L5"&gt;5&lt;/span&gt;
&lt;span rel="#L6" id="L6"&gt;6&lt;/span&gt;
&lt;span rel="#L7" id="L7"&gt;7&lt;/span&gt;
&lt;span rel="#L8" id="L8"&gt;8&lt;/span&gt;
&lt;span rel="#L9" id="L9"&gt;9&lt;/span&gt;
&lt;span rel="#L10" id="L10"&gt;10&lt;/span&gt;
&lt;span rel="#L11" id="L11"&gt;11&lt;/span&gt;
&lt;span rel="#L12" id="L12"&gt;12&lt;/span&gt;
&lt;span rel="#L13" id="L13"&gt;13&lt;/span&gt;
&lt;span rel="#L14" id="L14"&gt;14&lt;/span&gt;
&lt;span rel="#L15" id="L15"&gt;15&lt;/span&gt;
&lt;span rel="#L16" id="L16"&gt;16&lt;/span&gt;
&lt;span rel="#L17" id="L17"&gt;17&lt;/span&gt;
&lt;span rel="#L18" id="L18"&gt;18&lt;/span&gt;
&lt;span rel="#L19" id="L19"&gt;19&lt;/span&gt;
&lt;span rel="#L20" id="L20"&gt;20&lt;/span&gt;
&lt;span rel="#L21" id="L21"&gt;21&lt;/span&gt;
&lt;span rel="#L22" id="L22"&gt;22&lt;/span&gt;
&lt;span rel="#L23" id="L23"&gt;23&lt;/span&gt;
&lt;span rel="#L24" id="L24"&gt;24&lt;/span&gt;
&lt;span rel="#L25" id="L25"&gt;25&lt;/span&gt;
&lt;span rel="#L26" id="L26"&gt;26&lt;/span&gt;
&lt;span rel="#L27" id="L27"&gt;27&lt;/span&gt;
&lt;span rel="#L28" id="L28"&gt;28&lt;/span&gt;
&lt;span rel="#L29" id="L29"&gt;29&lt;/span&gt;
&lt;span rel="#L30" id="L30"&gt;30&lt;/span&gt;
&lt;span rel="#L31" id="L31"&gt;31&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;.. django-startcbv documentation master file, created by&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sphinx-quickstart on Mon Jul 11 21:34:47 2011.&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;You can adapt this file completely to your liking, but it should at least&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;contain the root `toctree` directive.&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;Welcome to django-startcbv&amp;#39;s documentation!&lt;/div&gt;&lt;div class="line" id="LC7"&gt;===========================================&lt;/div&gt;&lt;div class="line" id="LC8"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC9"&gt;Contents&lt;/div&gt;&lt;div class="line" id="LC10"&gt;-----------&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC12"&gt;.. toctree::&lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;:maxdepth: 2&lt;/div&gt;&lt;div class="line" id="LC14"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC15"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;installation&lt;/div&gt;&lt;div class="line" id="LC16"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;usage&lt;/div&gt;&lt;div class="line" id="LC17"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC18"&gt;API/Reference Docs&lt;/div&gt;&lt;div class="line" id="LC19"&gt;--------------------&lt;/div&gt;&lt;div class="line" id="LC20"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC21"&gt;.. toctree::&lt;/div&gt;&lt;div class="line" id="LC22"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;:maxdepth: 2&lt;/div&gt;&lt;div class="line" id="LC23"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC24"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ref_startcbv&lt;/div&gt;&lt;div class="line" id="LC25"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC26"&gt;Indices and tables&lt;/div&gt;&lt;div class="line" id="LC27"&gt;==================&lt;/div&gt;&lt;div class="line" id="LC28"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC29"&gt;* :ref:`genindex`&lt;/div&gt;&lt;div class="line" id="LC30"&gt;* :ref:`modindex`&lt;/div&gt;&lt;div class="line" id="LC31"&gt;* :ref:`search`&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Commit and push it all to Github:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;cd ~/code/django-startcbv&lt;/div&gt;&lt;div class="line" id="LC2"&gt;git add .&lt;/div&gt;&lt;div class="line" id="LC3"&gt;git commit -m &amp;quot;Added Sphinx docs.&amp;quot;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;git push&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Go to &lt;a href="http://readthedocs.com"&gt;readthedocs.com&lt;/a&gt; and create an account. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;Go to&amp;nbsp;&lt;a href="http://readthedocs.org/dashboard/import/"&gt;http://readthedocs.org/dashboard/import/&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;Enter something like the following:&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;div class="data type-text"&gt;
      &lt;table class="lines" cellspacing="0" cellpadding="0"&gt;
        &lt;tr&gt;
          &lt;td&gt;
            &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="L1"&gt;1&lt;/span&gt;
&lt;span rel="#L2" id="L2"&gt;2&lt;/span&gt;
&lt;span rel="#L3" id="L3"&gt;3&lt;/span&gt;
&lt;span rel="#L4" id="L4"&gt;4&lt;/span&gt;
&lt;span rel="#L5" id="L5"&gt;5&lt;/span&gt;
&lt;span rel="#L6" id="L6"&gt;6&lt;/span&gt;
&lt;span rel="#L7" id="L7"&gt;7&lt;/span&gt;
&lt;span rel="#L8" id="L8"&gt;8&lt;/span&gt;
&lt;span rel="#L9" id="L9"&gt;9&lt;/span&gt;
&lt;span rel="#L10" id="L10"&gt;10&lt;/span&gt;
&lt;/pre&gt;
          &lt;/td&gt;
          &lt;td width="100%"&gt;
                &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;Name: django-startcbv&lt;/div&gt;&lt;div class="line" id="LC2"&gt;Repo: http://github.com/audreyr/django-startcbv.git&lt;/div&gt;&lt;div class="line" id="LC3"&gt;Repo type: Git&lt;/div&gt;&lt;div class="line" id="LC4"&gt;Description: Management command to start an app with class-based views.  You use &amp;quot;python manage.py startcbv &amp;lt;appname&amp;gt;&amp;quot;.  It&amp;#39;s very fresh and unstable, so use at your own risk, but it does work!&lt;/div&gt;&lt;div class="line" id="LC5"&gt;Project URL: https://github.com/audreyr/django-startcbv&lt;/div&gt;&lt;div class="line" id="LC6"&gt;Tags: &amp;quot;class-based views&amp;quot;, Django, management&lt;/div&gt;&lt;div class="line" id="LC7"&gt;Default branch: (blank)&lt;/div&gt;&lt;div class="line" id="LC8"&gt;Use virtualenv: (unchecked)&lt;/div&gt;&lt;div class="line" id="LC9"&gt;Requirements file: (blank)&lt;/div&gt;&lt;div class="line" id="LC10"&gt;Documentation type: Sphinx HTML&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
  &lt;/div&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Click Submit.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Now go to your project on Github (something like&amp;nbsp;&lt;a href="https://github.com/audreyr/django-startcbv"&gt;https://github.com/audreyr/django-startcbv&lt;/a&gt;) and click Admin &amp;gt; Service Hooks &amp;gt; ReadTheDocs. &amp;nbsp;Scroll up. &amp;nbsp;Check "Active". &amp;nbsp;Click "Update Settings". &amp;nbsp;From now on, whenever you do a "git push", your &lt;a href="http://readthedocs.com"&gt;readthedocs.com&lt;/a&gt; / &lt;a href="http://rtfd.org"&gt;rtfd.org&lt;/a&gt; docs will be auto-updated.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;That's it. &amp;nbsp;You're done.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Note: you may have also heard of hosting your docs on&amp;nbsp;&lt;a href="http://packages.python.org/"&gt;http://packages.python.org/&lt;/a&gt;. &amp;nbsp;It's another place to host docs but requires manual updating by the PyPI staff. &amp;nbsp;Personally, I like using ReadTheDocs instead, though, because:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;the Github hooks keep my docs up-to-date without manual intervention. &amp;nbsp;Whenever I update my .rst files, I don't have to re-upload my docs!&lt;/li&gt;
&lt;li&gt;the docs are easier to find via search engines&lt;/li&gt;
&lt;/ul&gt;
Also, whatever you do, don't use a wiki or a blog post for your package's official docs. &amp;nbsp;Informally taking notes on your blog like this is fine, but if you're writing up docs for your Python package, take the extra step of copying and pasting the text into ReStructuredText files and generating Sphinx docs. &amp;nbsp;Why? People will be more likely to use your package, and your users will all thank you for your diligent documentation efforts.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Finally, whenever you do something complicated without documenting it, imagine the documentation donkey (a cross between the Django pony and the Shrek donkey) kicking you the next time you can't figure out how to retrace your steps.&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/how-to-create-sphinx-docs-the-python-github-r"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/how-to-create-sphinx-docs-the-python-github-r#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/JtYSkEwj0RM" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/how-to-create-sphinx-docs-the-python-github-r</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 29 Jun 2011 01:49:21 -0700</pubDate>
      <title>Call to Action: PyLadies Seattle + Sydney, AU + Wellington, NZ</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/QlgzalvKl2w/call-to-action-pyladies-seattle-sydney-au-wel</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/call-to-action-pyladies-seattle-sydney-au-wel</guid>
      <description>&lt;p&gt;
	PyLadies is a worldwide community of ladies and supporting gentlemen who use the Python programming language.&lt;p /&gt;&lt;div&gt;We are currently putting together an open-source PyLadies kit.  I hope it&amp;#39;ll help Pythonistas in various cities start their own local chapters.  There&amp;#39;s not much in there yet, but there will be.  We&amp;#39;ll be putting the contents up on Read the Docs (&lt;a href="http://rtfd.org"&gt;rtfd.org&lt;/a&gt;) shortly.&lt;/div&gt; &lt;div&gt;&lt;a href="https://github.com/pyladies/pyladies-kit"&gt;https://github.com/pyladies/pyladies-kit&lt;/a&gt;&lt;/div&gt;&lt;p /&gt;&lt;div&gt;I would like to help interested Python developers (hey women &amp;amp; men, I&amp;#39;m talking to you!) start PyLadies chapters in other cities, starting with inaugural PyLadies meetups on these dates.  Email me at &lt;b&gt;&lt;a href="mailto:audreyr@pyladies.com"&gt;audreyr@pyladies.com&lt;/a&gt;&lt;/b&gt; if you will be available, and suggest a few good times:&lt;/div&gt; &lt;p /&gt;&lt;div&gt;&lt;b&gt;Seattle &lt;/b&gt;&lt;b&gt;PyLadies&lt;/b&gt;&lt;/div&gt;&lt;div&gt; July 7 or 10, 2011&lt;/div&gt;&lt;p /&gt;&lt;div&gt;&lt;b&gt;Sydney, Australia &lt;/b&gt;&lt;b&gt;PyLadies&lt;/b&gt;&lt;/div&gt;&lt;div&gt; August 19 or 24, 2011&lt;/div&gt;&lt;p /&gt;&lt;div&gt;&lt;b&gt;Wellington, New Zealand &lt;/b&gt;&lt;b&gt;PyLadies&lt;/b&gt;&lt;/div&gt;&lt;div&gt; August 29, 2011&lt;/div&gt;&lt;p /&gt;&lt;div&gt;How this works:  This is a meetup for beginner through advanced Python developers who are interested in gender diversity.  It is not a workshop.  We&amp;#39;ll get together somewhere, ideally at a local Python company willing to step forward and host the event.  (I&amp;#39;ll thank you with all my heart for helping improve diversity in the Python world if your company hosts.)&lt;/div&gt; &lt;p /&gt;&lt;div&gt;I&amp;#39;ll walk you through the kit and help you build a PyLadies chapter in your city.  I have some important tips and tricks to make it happen, including:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Get as many ladies as possible from the first 2 or so meetups to commit to being co-organizers.  The more people feel personally invested in the group from the start, the better.  2-10 is a good number.&lt;/li&gt; &lt;li&gt;If you&amp;#39;re a gentleman, encourage the ladies to both lead and take credit.  Step back and take a supporting volunteer role.  Empower them by letting them become known leaders.  &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;We&amp;#39;ll go around the room with introductions, telling each other a bit about what we all do.  &lt;/div&gt; &lt;p /&gt;&lt;div&gt;When we&amp;#39;re done talking and planning, we&amp;#39;ll go out for drinks to celebrate and start building friendships with other locals who care about diversity in Python.  &lt;/div&gt; &lt;p /&gt;&lt;div&gt;There&amp;#39;s something magical about being in a room of female Python developers, or even just being a man in a room of Python developers where 60% are experienced female devs.  As your chapter grows, you&amp;#39;ll see &amp;quot;Diversity as a Dependency&amp;quot; (&lt;a href="http://lanyrd.com/2011/europython/sftyk/"&gt;as Anna Martelli Ravenscroft puts it&lt;/a&gt;) begin to happen in real life.&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/call-to-action-pyladies-seattle-sydney-au-wel"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/call-to-action-pyladies-seattle-sydney-au-wel#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/QlgzalvKl2w" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/call-to-action-pyladies-seattle-sydney-au-wel</feedburner:origLink></item>
    <item>
      <pubDate>Thu, 09 Jun 2011 09:44:22 -0700</pubDate>
      <title>Documentation-driven development is the future of Django</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/3G1ZB9oGHGA/documentation-driven-development-is-the-futur</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/documentation-driven-development-is-the-futur</guid>
      <description>&lt;p&gt;
	&lt;a href="http://www.flickr.com/photos/orangepulp/5792186230/"&gt;&lt;img class="posterous_download_image" src="http://farm6.staticflickr.com/5221/5792186230_3b564de36f.jpg" border="0" height="334" width="500" /&gt;&lt;/a&gt;&lt;p /&gt; Or is it? Don't start this conversation when you're with the wrong &lt;br /&gt;crowd of animals. You could get yourself into a lot of trouble.
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/documentation-driven-development-is-the-futur"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/documentation-driven-development-is-the-futur#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/3G1ZB9oGHGA" height="1" width="1"/&gt;</description>
    <feedburner:origLink>http://audreyr.posterous.com/documentation-driven-development-is-the-futur</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 23 May 2011 14:32:00 -0700</pubDate>
      <title>I love this boy!</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/L1S30FQVXgo/54165568</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/54165568</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I met the amazing &lt;a href="http://pydanny.blogspot.com"&gt;Danny&lt;/a&gt; &lt;a href="http://twitter.com/pydanny"&gt;Greenfeld&lt;/a&gt; last year and fell &lt;strong&gt;madly in love&lt;/strong&gt;. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here we were tangoing at PyCon 2010.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47628826@N05/4374285165/" title="2010-02-20 23.21.30 by tombrander, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4071/4374285165_04f18a6d6d.jpg" height="375" alt="2010-02-20 23.21.30" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here we are in front of the Lawrence Journal-World headquarters in Lawrence, KS, birthplace of the Django web framework.  We love Lawrence!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/pydanny/4548946544/" title="Me and Audrey in front of Django's birthplace by pydanny, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4019/4548946544_8e93f3fbb5.jpg" height="375" alt="Me and Audrey in front of Django's birthplace" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here he was doing djymnastics around me at Djangocon 2010. &amp;nbsp;(Thanks, &lt;a href="http://shawnrider.com/"&gt;Shawn Rider&lt;/a&gt;, for making this awesome video.)&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://www.youtube.com/embed/A6nKJs2cZCg" frameborder="0" height="349" width="560"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;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. &amp;nbsp;If you zoom in and look closely, you can see that Danny's arm is around me.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/pydanny/5670716870/" title="Packaginator sprinters! by pydanny, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5268/5670716870_e34d1bceef.jpg" height="375" alt="Packaginator sprinters!" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We wouldn't have found each other if not for the following things and people:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href="http://us.pycon.org/2010/registration/financial-aid/"&gt;PyCon 2010 diversity grant&lt;/a&gt;. &amp;nbsp;If not for this, I would have been shy to attend PyCon. &amp;nbsp;I applied for the grant on a whim. &amp;nbsp;When I got it, I was terrified of going and not knowing anyone, but I knew I had to go.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://devchix.org/"&gt;Gloria W. Jacobs&lt;/a&gt;, whom I shared a room with at PyCon and who encouraged me to go out and meet some of the amazing people at PyCon.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.b-list.org/"&gt;James Bennett&lt;/a&gt; and his Django tutorial at PyCon 2010, where Danny and I met for the first time.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.djangrrl.com/"&gt;Barbara Shaurette&lt;/a&gt;, whom I recognized from following her blog/&lt;a href="http://twitter.com/#!/bshaurette"&gt;Twitter&lt;/a&gt; and recognizing her bright red hair from her avatar. &amp;nbsp;She introduced me to Danny and is the real main reason we met, actually! &amp;nbsp;She was super nice when I asked to see her Django pony tattoo.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/#!/jennifermleech"&gt;Jennifer Leech&lt;/a&gt; and her impromptu PyCon 2010 tango BOF hallway track that Saturday night. &amp;nbsp;Before then, I had shaken Danny's hand but had never embraced him. &amp;nbsp;Chris Adams and Tom Brander taking photos of us at this, which turned out to be our very first date.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://holdenweb.com/"&gt;Steve Holden&lt;/a&gt; and his PyCon 2010 party.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://therealkatie.net/"&gt;Katie Cunningham&lt;/a&gt; and &lt;a href="http://chris.improbable.org/"&gt;Chris Adams&lt;/a&gt; encouraging us to be together at the party.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://zedshaw.com/"&gt;Zed Shaw&lt;/a&gt; for teaching us Argentine tango after he heard that we liked tango, and teaching me how to do a Judo hip throw simultaneously so that I could throw him happily.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/#!/honzakral"&gt;Honza Kral&lt;/a&gt; for teaching Danny how to dip me properly.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jtauber.com/"&gt;James Tauber&lt;/a&gt;, &lt;a href="http://brianrosner.com/"&gt;Brian Rosner&lt;/a&gt;, the &lt;a href="http://pinaxproject.com/"&gt;Pinax framework&lt;/a&gt; and the &lt;a href="http://us.pycon.org/2010/sprints/projects/pinax/"&gt;PyCon 2010 Pinax sprint&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/54165568"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/54165568#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/L1S30FQVXgo" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/54165568</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 04 Apr 2011 09:26:00 -0700</pubDate>
      <title>The penguin who owns example.com</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/ZX4C7JCTve0/the-penguin-who-owns-examplecom</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/the-penguin-who-owns-examplecom</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;a href="http://www.flickr.com/photos/orangepulp/5815095611/" title="2011-04-04-example-dot-com by oranges, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2678/5815095611_3b16b48ca7_z.jpg" height="400" alt="2011-04-04-example-dot-com" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Episode 1 of Scared of Rabbits. &amp;nbsp;I feel sad for this poor little bird.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/the-penguin-who-owns-examplecom"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/the-penguin-who-owns-examplecom#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/ZX4C7JCTve0" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/the-penguin-who-owns-examplecom</feedburner:origLink></item>
    <item>
      <pubDate>Sat, 11 Sep 2010 18:36:15 -0700</pubDate>
      <title>How to apply those "failed" changes from your GitHub fork queue</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/Z6kQ8ROauIk/how-to-apply-those-failed-changes-from-your-g</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/how-to-apply-those-failed-changes-from-your-g</guid>
      <description>&lt;p&gt;
	This is what you do to apply "Will likely not apply cleanly" changes &lt;br /&gt;in your GitHub fork queue. &lt;p /&gt; git remote add ddurst &lt;a href="http://github.com/ddurst/whydjango-ideas.git"&gt;http://github.com/ddurst/whydjango-ideas.git&lt;/a&gt; &lt;br /&gt;git remote update &lt;br /&gt;git pull ddurst master &lt;br /&gt;git status &lt;br /&gt;git push
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/how-to-apply-those-failed-changes-from-your-g"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/how-to-apply-those-failed-changes-from-your-g#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/Z6kQ8ROauIk" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/how-to-apply-those-failed-changes-from-your-g</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 24 Aug 2010 07:06:00 -0700</pubDate>
      <title>Getting outgoing email to work in Django and Pinax</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/5aiAUVUcqE0/getting-outgoing-email-to-work-in-django-and</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/getting-outgoing-email-to-work-in-django-and</guid>
      <description>&lt;p&gt;
	&lt;p&gt;&lt;span style="font-size: large;"&gt;&lt;strong&gt;Django and Pinax common steps&lt;/strong&gt;&lt;/span&gt;&lt;p /&gt;(I've got Django 1.2, Pinax 0.9a1)&lt;/p&gt;
&lt;p /&gt;
&lt;div&gt;First, install postfix (an SMTP server) on your VPS (in my case, a Linode node or Rackspace Cloud server).&lt;br /&gt; sudo apt-get install postfix&lt;p /&gt; Enter "&lt;a href="http://yourdomain.com" target="_blank"&gt;yourdomain.com&lt;/a&gt;" when it asks you for it. &amp;nbsp;There, now you have your own SMTP server.&lt;p /&gt;Add something like this to your settings.py so that outgoing mail comes from postfix.&lt;br /&gt; DEFAULT_FROM_EMAIL = 'Your Site &amp;lt;&lt;a href="mailto:yourdomain-noreply@yourdomain.com" target="_blank"&gt;yourdomain-noreply@yourdomain.com&lt;/a&gt;&amp;gt;'&lt;br /&gt;EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'&lt;br /&gt; EMAIL_USE_TLS = True&lt;br /&gt; EMAIL_HOST = 'localhost'&lt;br /&gt;EMAIL_HOST_USER = '&lt;a href="mailto:yourdomain-noreply@yourdomain.com" target="_blank"&gt;yourdomain-noreply@yourdomain.com&lt;/a&gt;'&lt;br /&gt;EMAIL_HOST_PASSWORD = ''&lt;br /&gt;EMAIL_PORT = 25&lt;br /&gt; EMAIL_SUBJECT_PREFIX = '[Your Site] '&lt;p /&gt; If your site uses Django but not Pinax, you're done. &amp;nbsp;To test it, restart Apache or touch your wsgi file, then enter the following 2 lines in a "python manage.py shell" (I hope you're in your virtualenv) at the prompt:&lt;br /&gt; from django.core.mail import send_mail&lt;br /&gt; send_mail('Subject here', 'Here is the message.', '&lt;a href="mailto:from@example.com" target="_blank"&gt;from@example.com&lt;/a&gt;', ['&lt;a href="mailto:to@example.com" target="_blank"&gt;to@example.com&lt;/a&gt;'], fail_silently=False)&lt;br /&gt; ...and if you got an email in your "&lt;a href="mailto:to@example.com" target="_blank"&gt;to@example.com&lt;/a&gt;" account, you're all set. &amp;nbsp;&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Additional Pinax steps&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;If your site uses Pinax, that last step probably didn't send you an email.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Pinax has an app in it called django-mailer that replaces Django's send_mail with its own queuing version. &amp;nbsp;Mail gets queued up (you can see it in your admin section's Home &amp;gt; Mailer &amp;gt; Messages) until you or a cron job run the command "python manage.py send_mail". &amp;nbsp;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Try running&amp;nbsp;"python manage.py send_mail" (still in your virtualenv). &amp;nbsp;You should get an email.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Make sure you have all the Pinax apps' email settings in your settings.py. &amp;nbsp;These depend on your particular desired configuration, but the ones that should be True for sure are&amp;nbsp;ACCOUNT_REQUIRED_EMAIL and&amp;nbsp;ACCOUNT_EMAIL_VERIFICATION.&lt;/div&gt;
&lt;div&gt;
&lt;p /&gt;
&lt;div&gt;ACCOUNT_OPEN_SIGNUP = True&lt;/div&gt;
&lt;div&gt;ACCOUNT_REQUIRED_EMAIL = True&lt;/div&gt;
&lt;div&gt;ACCOUNT_EMAIL_VERIFICATION = True&lt;/div&gt;
&lt;div&gt;ACCOUNT_EMAIL_AUTHENTICATION = False&lt;/div&gt;
&lt;div&gt;ACCOUNT_UNIQUE_EMAIL = EMAIL_CONFIRMATION_UNIQUE_EMAIL = False&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;EMAIL_CONFIRMATION_DAYS = 2&lt;/div&gt;
&lt;div&gt;EMAIL_DEBUG = DEBUG&lt;/div&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Now, the last thing you need is a cronjob to send the queued mail every minute, and to retry the deferred mail every 20 min. &amp;nbsp;How do you create this cronjob?&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;"crontab -e" opens up an editor. &amp;nbsp;Enter something like the following 2 lines. &amp;nbsp;"env" is your virtualenv, "username" is the username you use for sshing into the VPS, and "myproject" is your Pinax project directory. &amp;nbsp;I have a blank line at the end of mine, which you might need.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;* * * * * (cd /home/username/myproject; ../env/bin/python manage.py send_mail &amp;gt;&amp;gt; ../cron_mail.log 2&amp;gt;&amp;amp;1)&lt;/div&gt;
&lt;div&gt;0,20,40 * * * * (cd /home/username/myproject; ../env/bin/python manage.py retry_deferred &amp;gt;&amp;gt; ../cron_mail_deferred.log 2&amp;gt;&amp;amp;1)&lt;/div&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;If you haven't picked a default editor yet, it'll give you a choice. &amp;nbsp;I like nano for this kind of thing because it behaves like a normal text editor. &amp;nbsp;Save the file and exit. &amp;nbsp;The cronjob should be automatically installed. &amp;nbsp;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Now restart Apache and try signing up for an account on your Pinax site. &amp;nbsp;You should receive an account verification email within a minute or two. &amp;nbsp;Check your Spam and All Mail folders. &amp;nbsp;You're done.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;If you didn't get one, it's probably an issue with the paths specified in your cronjob or access permissions. &amp;nbsp;Make sure your virtualenv's set up properly and that the path to its Python is correct. &amp;nbsp;And make sure ../cron_mail.log and ../cron_mail_deferred.log are writeable. &amp;nbsp;Try "touch cron_mail.log" from the appropriate directory. &amp;nbsp;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span style="font-size: large;"&gt;&lt;strong&gt;Other notes&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;You can set up your project to use Gmail's SMTP server, but Postfix is easier. &amp;nbsp;Gmail uses a different port for SMTP than the usual port 25. &amp;nbsp;I think it's port 587. &amp;nbsp;But this only works for addresses like &lt;a href="mailto:yourname@gmail.com"&gt;yourname@gmail.com&lt;/a&gt;. I believe. &amp;nbsp;I don't think you can do this with Google Apps for Domains.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;If your Pinax site is live, don't do "python manage.py send_mail" until you've made sure the message queue is clear except for your own email address. &amp;nbsp;You could accidentally send out emails to all your users, like I did a couple of hours ago. &amp;nbsp;Those delayed confirmation emails will all have broken links and confuse your users.&lt;/div&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/getting-outgoing-email-to-work-in-django-and"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/getting-outgoing-email-to-work-in-django-and#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/5aiAUVUcqE0" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/getting-outgoing-email-to-work-in-django-and</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 04 May 2010 11:51:00 -0700</pubDate>
      <title>How to optimize large image files for the web, the command-line way</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/Tu3jMWiR3oM/how-to-optimize-large-image-files-for-the-web</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/how-to-optimize-large-image-files-for-the-web</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I use Inkscape to draw all my vector graphics nowadays.  Inkscape has a "Export Bitmap" feature (analogous to Photoshop/Illustrator's "Save For Web") that lets you export PNGs, but it's pretty basic (I assume by design).&lt;/p&gt;
&lt;div&gt;But what do you do once you've got that 400k Twitter background .png file exported from Inkscape?  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Or what if you want to do better than the image compression options in Adobe Photoshop or Illustrator, or even the GIMP?&lt;p /&gt;
&lt;/div&gt;
&lt;div&gt;Here are 2 decent options, assuming you're starting with a lossless PNG file:&lt;br /&gt; 
&lt;ul&gt;
&lt;li&gt;optimize the PNG by throwing out unused data and reducing colors&lt;/li&gt;
&lt;li&gt;convert it to a lossy JPEG (hopefully not too lossy, eek)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;GIF is not really an option now that PNG files are well-supported, unless you're making lovely dancing animated GIFs.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;BMP?  TGA?  Other formats?  These aren't good for web graphics.  It's 2010, and web-suited bitmaps are JPG, PNG, GIF.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Side note: I hope vector formats like SVG will be more supported by web applications (e.g. as Twitter avatars and background designs) in the near future, but it's a steep uphill battle.  I don't think it'll happen until cameras are capable of taking vector photos.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: large;"&gt;The starting image&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Before trying either option, here's the image that I began with.  This is the PNG that Inkscape generated via Export Bitmap:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://lh3.ggpht.com/_3XrOwNW_tI0/S-BmJjmcm_I/AAAAAAAAADI/QtqUHw__k_g/tw_bg.png"&gt;Example 0:  The starting PNG image&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;span style="font-size: large;"&gt;Option 1: Shrinking the PNG into a smaller PNG&lt;/span&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I used &lt;a href="http://optipng.sourceforge.net/"&gt;OptiPNG&lt;/a&gt; to trim the useless data, shrinking my file from 389k to 318k.  This step doesn't lose any image data.  &lt;/div&gt;
&lt;div&gt;
&lt;div&gt;$ sudo apt-get install optipng&lt;/div&gt;
&lt;div&gt;$ optipng twitter_bg.png&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;In particular, OptiPNG trimmed the alpha data from my PNG, which didn't have any transparency.  These were just wasted bytes.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Then, I used &lt;a href="http://pngnq.sourceforge.net/"&gt;Pngnq&lt;/a&gt; to quantize the image.  In other words, to decrease the number of colors in the image to an optimized smaller set of colors.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;(Photoshop and Illustrator let you choose the number of colors in the "Save To Web" tool.  Here we are doing the same thing manually.)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;$ sudo apt-get install pngnq&lt;/div&gt;
&lt;div&gt;$ pngnq -n 256 -s 1 -e b.png twitter_bg.png&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The parameters I chose here are:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;-n 256:  256 colors, which is the max resulting palette in pngnq.  Less than that would be too little to do my gradients justice.&lt;/li&gt;
&lt;li&gt;-s 1:  Sample every pixel during its palette-picking algorithm.  The default is 3, but I found that s=1 improved certain parts of my image drastically.  The only drawback is a slightly longer wait (a couple seconds longer for my image).&lt;/li&gt;
&lt;/ul&gt;
This 256-color quantization can look pretty drastic if you've got a lot of gradients, as was my case.  But it shrunk my 318k PNG down to a tiny 99k.  Here's the resulting image:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://lh5.ggpht.com/_3XrOwNW_tI0/S-BmJ4Q9U5I/AAAAAAAAADM/G88YN-yYs5I/tw_bg5.png"&gt;Example 1: The stripped and color-quantized resulting PNG image&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: large;"&gt;Option 2: Converting the PNG to a JPEG, lossily&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;You can convert from PNG to JPEG using GIMP if you're more comfortable with a GUI than with the command line.  You have less control over the way the result looks, but it's often good enough for web viewing purposes.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I don't know what's under the hood of the GIMP, and googling it for a few minutes didn't tell me.  Supposedly resizing images downward in GIMP isn't as good as you can get with the right parameters in ImageMagick.  But this is just a rumor.  If I remember to look into it when I have some free time, I will.  Who knows, GIMP might even be using ImageMagick for downscaling.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Anyhow, you probably have &lt;a href="http://www.imagemagick.org"&gt;ImageMagick&lt;/a&gt; installed already (unless you're on Windows, then you probably want to install it through Cygwin), so just go ahead:&lt;/div&gt;
&lt;div&gt;$ convert -compress JPEG -quality 87 twitter_bg.png twitter_bg.jpg&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I found that 87% compression was the lowest I could deal with.  But even that gave me a 187k image, and that was with enough blurriness to be mildly noticeable.  Note the artifacts in the rainbow bands.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://lh6.ggpht.com/_3XrOwNW_tI0/S-BmKG0hTzI/AAAAAAAAADQ/_MW71mrWGEY/tw_bg2h.jpg"&gt;Example 2: The lossily-compressed (87%) resulting JPEG image&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I'd rather give up colors and have zero blurriness than keep all the colors and have mild blurriness.  Which is why I went with PNG color quantization in the end.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;ImageMagick gives you a lot of other compression options.  I tried compressing to various degrees using JPEG2000 rather than JPEG compression, but I didn't notice enough improvement one way or another.  JPEG compression just looks bad when you're dealing with vector graphics or text.  You need those crisp edges.  Lossy JPEG is more of a photo type of compression.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: large;"&gt;Summary&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;There, I've written up as much as I could about the 2 options that were reasonable to me.  Pick option 1 if you're dealing with bitmaps exported from Inkscape or other vector graphics.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;But try option 2 if you're okay with some blurriness due to lossy compression artifacts.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Not all image compression is the same!  It's worth experimenting with various image compression tools and libraries.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;And if you try them all and still hope for better compression or quality, do some research on image compression algorithms and a little coding :)&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/how-to-optimize-large-image-files-for-the-web"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/how-to-optimize-large-image-files-for-the-web#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/Tu3jMWiR3oM" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/how-to-optimize-large-image-files-for-the-web</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 07 Apr 2010 23:09:08 -0700</pubDate>
      <title>How to make perfect sweet potato fries</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/ud8PlZhnxoo/how-to-make-perfect-sweet-potato-fries</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/how-to-make-perfect-sweet-potato-fries</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Last month my friend Ruza and I tested various combinations of sweet &lt;br /&gt;potato fry cooking methods. Here are the results of our experiments. &lt;br /&gt;I was hoping to post this as an instructable, but I forgot to &lt;br /&gt;photograph the fries that won the experiment (they got eaten too &lt;br /&gt;fast). &lt;p /&gt; Most optimal: very crisp outsides of 90% of fries, with fully cooked &lt;br /&gt;middles. Only about 10% burnt.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/orangepulp/4501550143/"&gt;&lt;img class="posterous_download_image" src="http://farm5.staticflickr.com/4011/4501550143_39e88ce3b6.jpg" border="0" height="332" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;1. Slice a sweet potato into fries of variable length x 5/8" width x &lt;br /&gt;3/16" depth. &lt;br /&gt;2. Soak uncooked fries in water for 30-45 min. &lt;br /&gt;3. Bring salt water to a boil, then add fries and boil them for 7-10 &lt;br /&gt;min or until tender enough to eat. &lt;br /&gt;4. Drain cooked fries and transfer to a pan containing 3 tbsp hot &lt;br /&gt;olive oil. Cook on low heat roughly 10 min or until they transform &lt;br /&gt;from floppy to crisp, flipping as needed. &lt;br /&gt;(I wish I had a final photo of these &lt;br /&gt;ones. You won't find any sweet potato fries as good in any &lt;br /&gt;restaurant.)&lt;p /&gt; Very delicious and interesting low-fat, extra-sweet (due to &lt;br /&gt;caramelization in oven not added sugar), chewy fries: &lt;br /&gt;&lt;a href="http://www.flickr.com/photos/orangepulp/4501559155/"&gt;&lt;img class="posterous_download_image" src="http://farm5.staticflickr.com/4042/4501559155_525ec994b6.jpg" border="0" height="332" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;1. Same as above. &lt;br /&gt;2. Same as above. &lt;br /&gt;3. Coat baking sheet with olive oil spray. Lay uncooked fries in a &lt;br /&gt;single layer on baking sheet. Coat top surface of fries with another &lt;br /&gt;light layer of olive oil spray. Sprinkle with salt and pepper. &lt;br /&gt;4. Bake at 250 F for 2 hours. &lt;p /&gt; Far less tasty variations: many of the following have been suggested&lt;br /&gt;on random Internet recipe sites and discussion threads, but cooking &lt;br /&gt;as such is not recommended:&lt;p /&gt; Pan-frying the fries without boiling them first results in crisp but &lt;br /&gt;40% burnt fries. The fries' insides take longer to cook through, &lt;br /&gt;leaving the outsides to burn in the meantime. &lt;p /&gt; Pan-frying over medium-high heat rather than low heat results in 66% &lt;br /&gt;burnt, 34% undercooked fries. Burnt fries still taste great, but they &lt;br /&gt;could be far greater. &lt;p /&gt; Soaking uncooked fries overnight, then boiling and frying them removes &lt;br /&gt;most of their sweetness. Unsweet sweet potato fries are disgustingly &lt;br /&gt;inedible. They look good, as shown in the following photo, but don't &lt;br /&gt;let looks fool you: &lt;br /&gt;&lt;a href="http://www.flickr.com/photos/orangepulp/4501556247/ "&gt;&lt;img class="posterous_download_image" src="http://farm3.staticflickr.com/2797/4501556247_ff4ba555a5.jpg" border="0" height="332" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Baking fries at 375-400 F for 40 min without any pre-soaking results &lt;br /&gt;in well-cooked but non-crispy fries. They become floppy and fall &lt;br /&gt;apart from their mushy floppiness. They taste great, especially when &lt;br /&gt;eaten with a fork like typical oven-roasted vegetables. In contrast, &lt;br /&gt;regular potato fries cooked in this way become crispy. &lt;p /&gt; Other notes: &lt;p /&gt; I don't know if the 30-45 min of soaking makes a noticeable difference. &lt;p /&gt; Smaller sweet potatoes are easier to handle while slicing.  This makes &lt;br /&gt;a huge difference both in prep time and safety. &lt;/p&gt;
&lt;p&gt;Thicker fries were not part of this experiment.  For thick fries, I'd choose&lt;br /&gt;the "most optimal" method, increasing the boiling time as needed. &lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/how-to-make-perfect-sweet-potato-fries"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/how-to-make-perfect-sweet-potato-fries#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/ud8PlZhnxoo" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/how-to-make-perfect-sweet-potato-fries</feedburner:origLink></item>
    <item>
      <pubDate>Tue, 06 Apr 2010 19:11:15 -0700</pubDate>
      <title>Serving static websites with Amazon S3+CloudFront, GoDaddy, Nginx, and a VPS</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/TFCqnvOQH2I/serving-static-websites-with-amazon-s3cloudfr</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/serving-static-websites-with-amazon-s3cloudfr</guid>
      <description>&lt;p&gt;
	S3 is good for serving static files in situations where you may need &lt;br /&gt;to deal with unexpected spikes in traffic. You can use any S3 &lt;br /&gt;uploader such as S3Fox or S3 Organizer to create a bucket for your &lt;br /&gt;files and then upload them. This requires no programming. &lt;p /&gt; With a couple more clicks, you can turn an S3 bucket into a CloudFront &lt;br /&gt;bucket. Then, the bucket can be used as a simple content delivery &lt;br /&gt;network. I pointed http://cdn.fuzzyrainbow.com to my CloudFront &lt;br /&gt;bucket by editing my GoDaddy control panel cname settings for &lt;br /&gt;fuzzyrainbow.com. &lt;p /&gt; You'd be able to use the S3/CloudFront bucket as-is as a static web &lt;br /&gt;server if it weren't for Amazon's inability to serve default index &lt;br /&gt;pages. I fiddled with S3, CloudFront, and GoDaddy for a bit, but I &lt;br /&gt;couldn't get http://www.fuzzyrainbow.com to automatically serve &lt;br /&gt;index.html. &lt;p /&gt; My quick solution to this was to install Nginx on my VPS to serve the &lt;br /&gt;default index page and the .js files. I put those files into a &lt;br /&gt;directory on my VPS and edited my nginx.conf to serve those files. &lt;br /&gt;The images and stylesheets linked from index.html are retrieved from &lt;br /&gt;&lt;a href="http://cdn.fuzzyrainbow.com"&gt;http://cdn.fuzzyrainbow.com&lt;/a&gt;, my fancy little CDN. &lt;p /&gt; I've put up the files for http://www.fuzzyrainbow.com here: &lt;br /&gt;&lt;a href="http://github.com/audrey/fuzzyrainbowcom"&gt;http://github.com/audrey/fuzzyrainbowcom&lt;/a&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/serving-static-websites-with-amazon-s3cloudfr"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/serving-static-websites-with-amazon-s3cloudfr#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/TFCqnvOQH2I" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/serving-static-websites-with-amazon-s3cloudfr</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 26 Mar 2010 05:42:03 -0700</pubDate>
      <title>Basic git notes on branches, tracking, deleting, reverting</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/OmMbZwuUbNE/basic-git-notes-on-branches-tracking-deleting</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/basic-git-notes-on-branches-tracking-deleting</guid>
      <description>&lt;p&gt;
	to delete remote branch: &lt;br /&gt;git push origin :bad-remote-branch &lt;p /&gt; to delete local branch: &lt;br /&gt;git branch -d bad-local-branch &lt;p /&gt; to list the local branches: &lt;br /&gt;git branch -v &lt;p /&gt; to list the remote branches: &lt;br /&gt;git branch -r &lt;br /&gt;or... git remote show origin &lt;p /&gt; to create a local &amp; remote branch, where the local branch tracks the remote one: &lt;br /&gt;git checkout -b new-branch &lt;br /&gt;git push origin new-branch &lt;p /&gt; to revert a local &amp; remote branch to a revision a few commits ago: &lt;br /&gt;&lt;a href="http://www.kernel.org/pub/software/scm/git/docs/howto/revert-branch-rebase.html"&gt;http://www.kernel.org/pub/software/scm/git/docs/howto/revert-branch-rebase.html&lt;/a&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/basic-git-notes-on-branches-tracking-deleting"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/basic-git-notes-on-branches-tracking-deleting#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/OmMbZwuUbNE" height="1" width="1"/&gt;</description>
    <feedburner:origLink>http://audreyr.posterous.com/basic-git-notes-on-branches-tracking-deleting</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 21 Oct 2009 08:28:00 -0700</pubDate>
      <title>Pulling personal data out of OpenSocial containers and into a 	standalone website</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/YUhtoAebd5o/pulling-personal-data-out-of-opensocial-conta</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/pulling-personal-data-out-of-opensocial-conta</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I've been struggling with the OpenSocial docs and various samples, &lt;br /&gt;trying to find a way to pull my personal data out of my Orkut profile. &lt;p /&gt; First I tried out the OpenSocial Python Client library samples and the &lt;br /&gt;Google Friend Connect Chow Down sample. I didn't fully understand &lt;br /&gt;what was going on, but I saw that I'd need a consumer key &amp;amp; secret. &lt;br /&gt;(I just learned about GFC yesterday and am still trying to figure out &lt;br /&gt;what it can and can't do.) &lt;p /&gt; I created my own gadget.xml, uploaded it to a server, and added it to &lt;br /&gt;my Orkut sandbox profile page. I verified my ownership of gadget.xml &lt;br /&gt;with Google's "Gadget Ownership Verification" tool, at &lt;br /&gt;&lt;a href="https://www.google.com/gadgets/directory/verify"&gt;https://www.google.com/gadgets/directory/verify&lt;/a&gt;. That gave me my &lt;br /&gt;Orkut gadget consumer key and secret. &lt;p /&gt; Then, I discovered some interesting info here: &lt;br /&gt;&lt;a href="http://sites.google.com/site/oauthgoog/2leggedoauth/2opensocialrestapi"&gt;http://sites.google.com/site/oauthgoog/2leggedoauth/2opensocialrestapi&lt;/a&gt; &lt;br /&gt;1. Orkut only supports 2-legged OAuth. &lt;br /&gt;2. A 3rd party site containing no gadget needs to use 3-legged OAuth &lt;br /&gt;to retrieve a user's Orkut profile data. &lt;p /&gt; What is 3-legged OAuth? For example: your website has a "Login with &lt;br /&gt;Twitter" link that sends you to Twitter for approval, upon which &lt;br /&gt;Twitter sends you back to your website with an access token. &lt;p /&gt; In contrast, a 2-legged OAuth example: your Orkut (or Hi5, Ning, &lt;br /&gt;MySpace, whatever) gadget requests data from your own personal API &lt;br /&gt;server, for use in the gadget itself. In this case, your gadget uses &lt;br /&gt;a shared secret from the OpenSocial container to sign its requests. &lt;p /&gt; I guess I have 3 options now: &lt;br /&gt;1. Give in and have everything live inside of an Orkut gadget &lt;br /&gt;2. Create an Orkut gadget that pushes my profile data to my server and &lt;br /&gt;then sends me to my website &lt;br /&gt;3. Switch to another OpenSocial container that supports 3-legged OAuth &lt;br /&gt;(if any exist) or to another social media site that has it (Twitter? &lt;br /&gt;maybe Facebook Connect?) &lt;p /&gt; To be continued...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Update 3/6/10: I did end up finding a solution. &amp;nbsp;The problem was that I was using the wrong consumer key and secret! &amp;nbsp;I can't remember the details anymore since it was so long ago - should have posted sooner. &amp;nbsp;I believe it was that there was a special secret page in the Orkut sandbox where you can generate the correct key/secret pair. &amp;nbsp;The comments in the Java sample code describe this in detail.&amp;nbsp;&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/pulling-personal-data-out-of-opensocial-conta"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/pulling-personal-data-out-of-opensocial-conta#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/YUhtoAebd5o" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/pulling-personal-data-out-of-opensocial-conta</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 07 Oct 2009 22:48:00 -0700</pubDate>
      <title>Art: Levee Farms painting by Wayne Thiebaud, and my digital painting inspired by it</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/w4Aptik5Z_Y/art-levee-farms-painting-by-wayne-thiebaud-an</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/art-levee-farms-painting-by-wayne-thiebaud-an</guid>
      <description>&lt;p&gt;
	&lt;p&gt;Here is a video of my favorite painting (as of now), "Levee Farms" by &lt;a href="http://en.wikipedia.org/wiki/Wayne_Thiebaud"&gt;Wayne Thiebaud&lt;/a&gt;.&amp;nbsp; I visited it four times during my few days in Washington, DC.&amp;nbsp; In fact, I took a quick coding break from my Twilio app just to see the painting one last time, to take this video.&lt;p /&gt; Ignore the audio of the video of the painting, please.&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_video_embed'&gt;
&lt;a href="http://audreyr.posterous.com/art-levee-farms-painting-by-wayne-thiebaud-an"&gt;&lt;img alt="" src="http://getfile9.posterous.com/getfile/files.posterous.com/audreyr/7SXkm6xevUupv6FMupzPqd3hDXgKibW688tVAqAQcWIzkMmyabCIl409Rlyb/video-2009-10-03-16-13-37.png" /&gt;&lt;/a&gt;
&lt;div class='p_embed_description'&gt;
&lt;strong&gt;video-2009-10-03-16-13-37.3gp&lt;/strong&gt;
&lt;a href="http://audreyr.posterous.com/art-levee-farms-painting-by-wayne-thiebaud-an"&gt;Watch on Posterous&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;The second piece (static image) is a digital painting that I made, "Untitled," inspired by Thiebaud's painting.&lt;/p&gt;
&lt;p&gt;&lt;div class='p_embed p_image_embed'&gt;
&lt;a href="http://getfile1.posterous.com/getfile/files.posterous.com/audreyr/u9p8y7IKBobfo2KZ6rQLEwI3tpLExgvGWiVzLNkpZRqRN953LeaXLs70dPJR/view_01.png"&gt;&lt;img alt="View_01" height="530" src="http://getfile3.posterous.com/getfile/files.posterous.com/audreyr/abdNmbeqJ0ZcnVZJw4tGI1ZDHOw4Z5A8Y0dpIbEpaYvnDNFCtW2zDwvtyAp9/view_01.png.scaled.500.jpg" width="500" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;In "Untitled," the building with the columns is the Smithsonian American Art Museum &amp;amp; National Portrait Gallery.&amp;nbsp; That is the museum where Thiebaud's painting is currently on display.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Visiting art museums has taught me a lot about myself and some of the directions tha I hope to take with my art.&amp;nbsp; I am trying to get away from design and its principles, and from illustration.&amp;nbsp; I want to focus more on colors, patterns, and raw perception.&amp;nbsp; I have been exploring synesthesia and optical illusions over the past couple of years, and I hope to take this even further.&lt;/p&gt;
&lt;p&gt;The French artist &lt;a href="http://en.wikipedia.org/wiki/Jean_Dubuffet"&gt;Jean Dubuffet&lt;/a&gt; went from painting in the same style as his contemporaries to painting in a raw, primitive way.&amp;nbsp; He was inspired by the mentally ill and by prisoners.&amp;nbsp; I actually don't like his paintings at all, but I think his life is interesting.&lt;/p&gt;
&lt;p&gt;You may have noticed that the museum building looks like computer graphics did in the 80s and 90s.&amp;nbsp; The style is very different from the usual Web 2.0ish illustration that I've been doing.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also, the colors of "Untitled" are more neon than you'd expect from me.&amp;nbsp; That's because neon is color to its most extreme.&amp;nbsp; I like pushing color to its limits, but I've been afraid of going this far because it clashes with current design trends.&amp;nbsp; But I've realized that design and fine art are separate for a reason.&amp;nbsp; My favorite pieces of fine art tend to be about exploring and pushing boundaries, where design is about working within constraints in a pleasing way.&lt;/p&gt;
&lt;p&gt;This all comes full circle when you step back and see that Wayne Thiebaud is best known for his pop art paintings of cakes and sweets, done in a commercial advertising style.&amp;nbsp; That is exactly the same direction that I've been taking with my orange illustrations for the past six years.&lt;/p&gt;
&lt;p&gt;I really, really can't wait to get back to my art studio to paint with real paint!&amp;nbsp; I'm pretty sure I'll have some new paintings to show very soon.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/art-levee-farms-painting-by-wayne-thiebaud-an"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/art-levee-farms-painting-by-wayne-thiebaud-an#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/w4Aptik5Z_Y" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/art-levee-farms-painting-by-wayne-thiebaud-an</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 07 Oct 2009 12:20:00 -0700</pubDate>
      <title>Price It By Phone, and the Twilio API </title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/m3SYUY3D44o/filename-price-it-by-phone-and-the-twilio-api</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/filename-price-it-by-phone-and-the-twilio-api</guid>
      <description>&lt;p&gt;
	&lt;p&gt;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.&amp;nbsp; Right now it's up and running at &lt;a href="http://price-it.appspot.com"&gt;http://price-it.appspot.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://price-it.appspot.com" title="Price It By Phone"&gt;&lt;img src="http://farm3.static.flickr.com/2656/3991053426_663eb77e97.jpg" height="284" alt="Screenshot of price-it.appspot.com" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://price-it.appspot.com" title="Price It By Phone, and the Twilio API"&gt;&lt;img src="http://farm3.static.flickr.com/2584/3990285311_daabcdffdc.jpg" height="284" alt="Price It By Phone, and the Twilio API" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you try it and run into problems, please let me know!&lt;p /&gt;My interview with Twilio is &lt;a href="http://blog.twilio.com/2009/10/price-it-by-phone-wins-twilio-app-engine-contest.html"&gt;here&lt;/a&gt;.&amp;nbsp; &lt;p /&gt;I like the Twilio API a lot.&amp;nbsp; It's the easiest-to-use API imaginable.&amp;nbsp; You set up your Twilio phone number with a URL to post to.&amp;nbsp; 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.&amp;nbsp; &lt;p /&gt; They have a Twilio-AppEngine sample among their &lt;a href="http://www.twilio.com/docs/demos/"&gt;demo apps&lt;/a&gt;.&amp;nbsp; This is awesome.&amp;nbsp; As you can see, I'm back to really liking GAE again, a lot.&lt;p /&gt;I'm putting a bit more time into Price-It and hoping to launch v2 soon.&amp;nbsp; Features that I want to put into it for sure:&amp;nbsp; 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.&amp;nbsp; Possible features to be added: integration with Amazon wish list, FB connect.&amp;nbsp; &lt;p /&gt; Also, I want to make it look web2.0 shiny, with cute illustrations and bright, designed gradients.&amp;nbsp; Yes, I know that the dark, trippy background doesn't have mass appeal.&amp;nbsp; Sometimes I make art for the sake of making myself happy :)&amp;nbsp; View the page's source code to see how it's done.&lt;p /&gt; If you have other feature ideas, I'd be interested in hearing them.&lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/filename-price-it-by-phone-and-the-twilio-api"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/filename-price-it-by-phone-and-the-twilio-api#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/m3SYUY3D44o" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/filename-price-it-by-phone-and-the-twilio-api</feedburner:origLink></item>
    <item>
      <pubDate>Fri, 25 Sep 2009 01:14:30 -0700</pubDate>
      <title>A now-outdated project</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/7MiAdDqWgNM/my-big-secret-project-with-fuzzy-rainbow</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/my-big-secret-project-with-fuzzy-rainbow</guid>
      <description>&lt;p&gt;
	&lt;p&gt;I wish I could post screenshots of the app I'm working on with &lt;a href="http://www.fuzzyrainbow.com"&gt;Fuzzy Rainbow&lt;/a&gt;.  But I can't talk too much about it yet.&lt;p /&gt;It's a Python/AppEngine + OpenSocial + JavaScript + jQuery UI app.  All the interaction &amp;amp; graphics are done with pngs and crazy JavaScript tricks because @shazow introduced me to the magic of jQuery &amp;amp; jQuery UI and convinced me that JavaScript could do anything.  Working on Fluffy Puffy Cloud Pets also taught me this to some extent, although I did nothing but draw clouds (and integrate my teammates' code) for that project, and I was skeptical of JS back then.&lt;p /&gt; No canvas, no Flash.  If this turns out to be the wrong approach, I'm not afraid to throw away 2 months of code and rewrite it.  &lt;p /&gt;The app is pretty odd.  Things do funny things.  It's either a game or a tool, depending on the user's perspective.&lt;p /&gt; More pieces are coming down the line.  There will likely be a Pinax-based standalone site centered around the app.  There will also likely be a mobile client (maybe PhoneGap).  And more that I absolutely can't mention.  It's pretty ambitious, but it's just a matter of doing it piece-by-piece and cutting out pieces if needed.  &lt;p /&gt; All the seemingly-scattered hacks &amp;amp; experiments that I've done over the summer are now coming together.  It is much more planned and well-thought-out than it might have appeared.  I am excited that I can say this much &amp;amp; can't wait to reveal more.&lt;/p&gt;
&lt;p&gt;Update 4/7/2010:  Things changed course pretty drastically.  Check &lt;a href="http://www.fuzzyrainbow.com"&gt;www.fuzzyrainbow.com&lt;/a&gt; or follow @fuzzy_rainbow on Twitter for the latest news.  &lt;/p&gt;
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/my-big-secret-project-with-fuzzy-rainbow"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/my-big-secret-project-with-fuzzy-rainbow#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/7MiAdDqWgNM" height="1" width="1"/&gt;</description>
    <feedburner:origLink>http://audreyr.posterous.com/my-big-secret-project-with-fuzzy-rainbow</feedburner:origLink></item>
    <item>
      <pubDate>Wed, 23 Sep 2009 08:03:29 -0700</pubDate>
      <title>Falling Clouds</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/klW8Mg8Oze0/falling-clouds</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/falling-clouds</guid>
      <description>&lt;p&gt;
	(Here is a poem I wrote the other day while I was sipping tea at a tea house)&lt;p /&gt;Soft falling pillows&lt;br /&gt;Puffs dropping at your feet, and on your feet, but&lt;br /&gt;they drop lightly&lt;br /&gt;Floating is easily forgotten, &lt;br /&gt;    as is disintegration&lt;br /&gt;         it all remains intact (as if to be preserved)&lt;br /&gt;Billowy pillows cover the landscape, &lt;br /&gt;puffs piling on top of puffs,&lt;br /&gt;snowlike clusters&lt;br /&gt;Every patch of ground has a mound&lt;br /&gt;of ethereal softness
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/falling-clouds"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/falling-clouds#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/klW8Mg8Oze0" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/falling-clouds</feedburner:origLink></item>
    <item>
      <pubDate>Mon, 21 Sep 2009 16:14:46 -0700</pubDate>
      <title>The Extreme Maker's Schedule</title>
      <link>http://feedproxy.google.com/~r/audreyr/~3/lgoG9EpME2E/the-extreme-makers-schedule</link>
      <guid isPermaLink="false">http://audreyr.posterous.com/the-extreme-makers-schedule</guid>
      <description>&lt;p&gt;
	Paul Graham wrote an excellent essay called &lt;a href="http://www.paulgraham.com/makersschedule.html"&gt;Maker&amp;#39;s Schedule, Manager&amp;#39;s Schedule&lt;/a&gt;, which I&amp;#39;ve seen and heard referenced several times over the past couple of months.  It&amp;#39;s about how programmers, writers, and other creative types need at least half-day blocks of uninterrupted time to work productively, unlike managers and business types.&lt;p /&gt; I&amp;#39;ve discovered that I work best on a special case of the maker&amp;#39;s schedule.  I call it the Extreme Maker&amp;#39;s Schedule.  Half-day blocks are not enough for me.  I work most productively in 72- or 96-hour blocks of uninterrupted time.  &lt;p /&gt; On this schedule, I allocate 3-4 day blocks of time to a particular project.  During this time I try to avoid even the smallest disruptions.  I begin by ordering or preparing enough food for the creative period that I don&amp;#39;t need to cook, e.g. by baking a lasagna.  I clear my schedule entirely so that I have no meetings or events to attend.  &lt;p /&gt; Even online distractions such as email, Facebook, and Twitter are to be avoided at all costs on this schedule.  If I take a long time to respond to emails, this is why.  A single email can derail my train of thought for the entire evening.&lt;p /&gt; Once the 72- or 96-hour block has begun, I work on nothing but the one particular project.  It usually takes a couple of hours for the excitement and thoughts to start flowing, but once I get to this point, I find myself in a state of unimaginable creativity and productivity.  Knowing that I have nothing else planned but that one project helps.  These periods are often so intense that I end up sleeping in a series of naps, as a result of staying up late and then unintentionally waking up early full of excitement.&lt;p /&gt; While this sounds strange, it&amp;#39;s likely that other creative types enjoy this schedule.  It&amp;#39;s much like being in college and working on a final project all week, or sprinting all weekend at a developer hackathon.  &lt;p /&gt; Realistically, the Extreme Maker&amp;#39;s Schedule is hard to follow in a normal world.  It helps to be self-employed full-time, and to be single without dependents.  It also helps to have a retreat to get away to, whether it&amp;#39;s a distraction-free apartment or an out-of-town secret hideaway.
	
&lt;/p&gt;

&lt;p&gt;&lt;a href="http://audreyr.posterous.com/the-extreme-makers-schedule"&gt;Permalink&lt;/a&gt; 

	| &lt;a href="http://audreyr.posterous.com/the-extreme-makers-schedule#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt;

&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/audreyr/~4/lgoG9EpME2E" height="1" width="1"/&gt;</description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/38405/audrey_santa_cruz_cropped.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/PWm7EA4lKV</posterous:profileUrl>
        <posterous:firstName>Audrey</posterous:firstName>
        <posterous:lastName>M Roy</posterous:lastName>
        <posterous:nickName>Audrey</posterous:nickName>
        <posterous:displayName>Audrey M Roy</posterous:displayName>
      </posterous:author>
    <feedburner:origLink>http://audreyr.posterous.com/the-extreme-makers-schedule</feedburner:origLink></item>
  </channel>
</rss>

